C# 仅在本地数据库上:已释放ObjectContext实例
我在使用Linq获得异步结果时遇到问题。 每次我收到错误“ObjectContext实例已被释放,不能再用于需要连接的操作。”-但我只在本地数据库上得到它,当我在测试数据库上尝试代码时,一切正常 我的代码:C# 仅在本地数据库上:已释放ObjectContext实例,c#,sql-server,linq,objectcontext,C#,Sql Server,Linq,Objectcontext,我在使用Linq获得异步结果时遇到问题。 每次我收到错误“ObjectContext实例已被释放,不能再用于需要连接的操作。”-但我只在本地数据库上得到它,当我在测试数据库上尝试代码时,一切正常 我的代码: var manufacturerData= await _manufacturerDataService.GetAllAsync(); return Json( manufacturerData.Select(x => new
var manufacturerData= await _manufacturerDataService.GetAllAsync();
return Json(
manufacturerData.Select(x => new
{
x.Id,
ManufacturerName = x.Manufacturer.Name,
CountryName = x.Country.Name,
x.ProductType,
ContractTypes = x.ContractTypes != null ? string.Join(" ", x.Types.Select(c => c.Name)) : ""
}), JsonRequestBehavior.AllowGet);
我在本地机器上有一个测试数据库的备份,所以我不明白为什么它不工作 这个问题的解决方案不是在代码中找到的-数据库有问题。制造商的Id在某些情况下为空(本地)。。我想我从测试数据库导入数据时出错了
GetAllAsync
是否返回一个IQueryable
?如果是这样,请在末尾添加ToList
,选择,以确保对EF查询进行了计算。GetAllAsync
将返回一个IEnumerable
。我试图将添加到列表
,但现在我得到一个对象引用未设置为对象实例
。。这太疯狂了