EF4 Linq-使用相关表格中的条件获取热门项目
本文关键字:条件 获取 热门 项目 表格 Linq- EF4 | 更新日期: 2023-09-27 18:28:59
我有3个表需要包含在EF4中的linq查询中。我还使用dbcontext生成器生成poco类。linq查询正在查询poco对象。
希望下面能清楚地解释表在底层数据库中的关系。
订单详情>-1书籍1-<图书类别
正如你所看到的,一本书可以有很多类别,一本可以出现在很多订单上。
我正在努力获得某一特定类别的畅销书。
到目前为止,我已经设法获得了如下畅销书,但我似乎无法将其扩展到包括一个图书类别作为中where条款的标准
var topSellingBooks = (from p in this.context.OrderDetails
where p.IssueId == issueId && p.PublicationId != "4TC"
group p by p.BookId
into bookGroup
select new
{
BookNo = bookGroup.Key,
BookCount = bookGroup.Sum(q => q.Quantity)
}).OrderByDescending(q => q.BookCount)
.Take(noOfBooks);
使用导航属性,我希望我可以添加
&& p.Books.BookCategories.CategoryId_FK=="MyCatId"
按照我上面的where标准,但这似乎是不可能的。我无法通过使用以上内容访问BookCategories的属性。
这足够了解情况了吗?有人有线索吗?
感谢
机翼
加载策略似乎有问题。您需要在查询中包含相关对象。
阅读什么是急切和懒惰的加载,你会在这个页面上发现很多例子,比如:
var blogs = context.Blogs
.Include(b => b.Posts.Select(p => p.Comments))
.ToList();