我有一个包含所有内容列表的存储库:
private Repository<Content> contentRepository
我有一个存储库,其中包含内容的统计信息列表:
private Repository<ContentStatistic> statisticRepository
在内容模型中有一个ContentStatisticID,它将两个类链接为外键
我已经声明了一个名为MostPopularContent的IEnumerable,我正在尝试创建一个最受瞩目的8个视频的列表,因为统计类还有其他信息,例如谁喜欢它等等我将视图计数留在了content.cs类之外
我已经尝试了以下代码,但它出错了,我似乎无法找到解决方法:
MostPopularContent = contentRepository.GetAll()
.Join(statisticRepository.Get(s => s.Views != 0),
c => c.ContentStatisticID,
s => s.ContentStatisticID,
(c, s) => new Content()
{
ContentID = c.ContentID,
Views = s.Views
})
.Take(8)
.ToList();
当我运行时,我收到以下错误:
无法创建“Data.ContentStatistic”类型的常量值。在此上下文中仅支持原始类型或枚举类型。
答案 0 :(得分:0)
我的问题发生了,因为我没有设置初始化的延迟加载,所以虚拟属性总是以nil的形式返回。我通过向我的ViewModel添加以下代码行克服了这个问题:
this.dbcontext.Configuration.LazyLoadingEnabled = true;
在View本身中,我还为一些更复杂的模型提供了一系列嵌套查询,并且必须将以下段添加到连接字符串中:
MultipleActiveResultSets=True";