我有一个如下所示的查询:
db.Items.Where(c => c.Enabled)
.OrderBy(c => c.Vendor.Category.Select(b=> b.OrderPriority))
.ToList();
我收到错误消息说我需要实施IComparable
...我不确定我做了正确的事情 - 我只是想订购我的物品OrderPriority
的{{1}}属性。有没有办法使用导航属性的属性进行订购?
答案 0 :(得分:0)
基本上,您试图通过Items
的集合订购OrderPriority
。这是因为Vendor
有多个Categories
(或者可能有,因为它是1-n关联)。
我不确定您是否有可能尝试表达的内容。如果您想按其Items
类别中的OrderPriority
类别中的最高Vendor
订购db.Items.Where(c=>c.Enabled)
.OrderBy(c => c.Vendor.Category.Max(b=> b.OrderPriority))
,则可以
{{1}}