【发布时间】:2013-07-12 15:16:00
【问题描述】:
我正在尝试使用 linq to enitites 过滤一些对象,但我收到一条错误消息,告诉我“枚举未产生任何结果”。
在客户端我收到这样的消息:
操作无法完成,因为 DbContext 已被 处置
我知道这些过滤器值应该返回一些结果,但它不起作用,所以我猜我的查询是错误的,请你帮忙。
var mediaChannels =
NeptuneUnitOfWork.MediaChannels
.FindWhere(m => m.CountryID == CountryID &&
m.SonarMediaTypeID == MediaTypeID &&
m.SonarMediaTypes.SonarMediaGroupID == MediaGroupID &&
m.Name.Contains(search))
.Select(m => new MediaChannelModel() {
ID = m.ID,
Name = m.Name,
MediaType = m.MediaType.Name,
Country = m.Countries.Name,
SubRegion = m.Countries.Lookup_SubRegions.Name,
Region = m.Countries.Lookup_SubRegions.Lookup_Regions.Name
});
【问题讨论】:
-
NeptuneUnitOfWork.MediaChannels是否启动并运行? -
谢谢大家,我必须添加一个 ToList() 并且我的 sql 测试是错误的,所以没有匹配的数据。
-
添加 ToList() 就可以了