其他分享
首页 > 其他分享> > CodeGo.net>在实体框架中获取数据

CodeGo.net>在实体框架中获取数据

作者:互联网

我的项目中有一个实体框架模型:

过去,我将使用LINQ语句从两个表中获取有关一本书的数据:

var books = (from book in db.Books
             join author in db.Authors on book.AuthorId equals author.AuthorId
             select new { book.Title, author.Name, book.Price }).ToList();

dataGridView1.DataSource = books;

如您所见,此代码仅将AuthorID上的两个表联接在一起,并将结果作为列表返回.

但是,既然我正在尝试使用实体框架,我想知道如何实现相同的目标?我的意思是,由于我通过AuthorId拥有Book文件和Author文件之间的关系,因此我无法说“根据此模型给我图书数据”,它会返回一个包含以下数据的数据集:两个实体?我希望我不会感到困惑,因为两个实体之间描述了关联,所以我只是想知道,我不必在LINQ查询中进行联接即可获取数据.我的想法是,应该已经通过模型和所描述的关联将数据链接在一起.这有意义吗?

解决方法:

您可以尝试以下方法:

var books = (from book in db.Books  
             select new { book.Title, book.Author.Name, book.Price }).ToList();

换句话说,您可以使用导航属性来执行此操作.

标签:entity-framework-5,c
来源: https://codeday.me/bug/20191121/2051979.html