视图上的导航属性

时间:2011-12-26 16:02:33

标签: asp.net-mvc entity-framework linq-to-entities

我得到以下情况。我在Deliverers(外键)上将PromotionsDelivererId表与Promotions相关联。在我的MVC应用程序中,我只使用以下代码显示促销列表:

                    promotions = db.Promotions.
                    Include("Deliverers1").
                    Where(p => p.WeekNo == currentWeek).
                    OrderByDescending(p => p.WeekNo);

我被要求添加另一个动态计算的列(在另一个表上选择count(*))。我的解决方案是创建一个视图select *, count(....) from Promotions ...

问题是我的视图没有Deliverers1导航属性,我不知道如何添加它。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果另一个表是此实体的属性导航:

var promotions = db.Promotions.
                    Include("Deliverers1").
                    Where(p => p.WeekNo == currentWeek).
                    OrderByDescending(p => p.WeekNo)
                    .Select(p=>new {p,p.Count(...));

如果不是属性导航:

var promotions = db.Promotions.
                    Include("Deliverers1").
                    Where(p => p.WeekNo == currentWeek).
                    OrderByDescending(p => p.WeekNo)
                    .Select(p=>new {p,db.othertable.Where(q=>q.foo==p.foo).Count());