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

在过去,我会使用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建立了图书文件和作者文件之间的关系,难道我不能说“根据这个模型给我图书数据”,它就会返回一个由两个实体的数据组成的数据集吗?我希望我不是很迟钝,我只是想,因为这两个实体之间有一个关联,所以我不必在LINQ查询中做一个连接来获取数据。我的想法是,数据应该已经连接在一起,通过模型和描述的关联。这有道理吗?
发布于 2014-07-23 12:21:13
你可以试试这个:
var books = (from book in db.Books
select new { book.Title, book.Author.Name, book.Price }).ToList();换句话说,您可以使用te导航属性来做到这一点。
https://stackoverflow.com/questions/24910332
复制相似问题