Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅在本地数据库上:已释放ObjectContext实例_C#_Sql Server_Linq_Objectcontext - Fatal编程技术网

C# 仅在本地数据库上:已释放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

我在使用Linq获得异步结果时遇到问题。 每次我收到错误“ObjectContext实例已被释放,不能再用于需要连接的操作。”-但我只在本地数据库上得到它,当我在测试数据库上尝试代码时,一切正常

我的代码:

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
。我试图将
添加到列表
,但现在我得到一个
对象引用未设置为对象实例
。。这太疯狂了