不支持直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery、DbRawSqlQuery)的数据
本文关键字:DbSqlQuery DbQuery DbRawSqlQuery 数据 DbSet 绑定 查询 存储 不支持 | 更新日期: 2023-09-27 18:28:24
标题中有错误:不支持直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery、DbRawSqlQuery)的数据我尝试过搜索可能的修复程序,但找不到对我有效的修复程序。
这是我的DataLayer:
public virtual IQueryable<T> All()
{
return this.DbSet.AsQueryable();
}
我的控制器:
public IQueryable<Movie> GetAllMovies()
{
var data = this.Data.Movies.All().Select(x => new Movie
{
Id = x.Id,
Name = x.Name,
ReleaseDate = x.ReleaseDate,
Rating = x.Rating,
Duration = x.Duration,
Director = x.Director,
Writer = x.Writer,
Cost = x.Cost,
Type = x.Type
}).OrderBy(x => x.Id);
return data;
}
还有我的GUI,我称之为:
public MovieManagementGUI()
{
InitializeComponent();
***this.radListView1.DataSource = movieCtr.GetAllMovies();*** //<-- Here I am getting the error
this.radListView1.ViewType = ListViewType.IconsView;
this.radListView1.AllowEdit = false;
this.radListView1.AllowRemove = false;
ImagePrimitive searchIcon = new ImagePrimitive();
searchIcon.Alignment = ContentAlignment.MiddleRight;
SetupIconsView();
}
我正在尝试从数据库中获取所有数据,并将其发布在ListView中。有人能看一下代码并试着修复我吗?如果你需要额外的代码,请告诉我。
谢谢你,
Marius J.
我设法解决了我的问题,我创建了一个新的DTO类并编辑了我的控制器:
public IEnumerable<MovieDTO> GetAllMovies()
{
var data = this.Data.Movies.All().Select(x => new MovieDTO
{
Id = x.Id,
Name = x.Name,
ReleaseDate = x.ReleaseDate,
Rating = x.Rating,
Duration = x.Duration,
Director = x.Director,
Writer = x.Writer,
Cost = x.Cost,
Type = x.Type
}).OrderBy(x => x.Id).ToList();
return data;
}