Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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# 即使SQL Server表中有数据,简单LINQ查询也会获取NullReferenceException_C#_Sql Server_Linq - Fatal编程技术网

C# 即使SQL Server表中有数据,简单LINQ查询也会获取NullReferenceException

C# 即使SQL Server表中有数据,简单LINQ查询也会获取NullReferenceException,c#,sql-server,linq,C#,Sql Server,Linq,我有一个简单的Linq查询,它突然失败了。这一直持续到昨天,我还无法确定问题所在 查询只是从SQL Server获取完整视图 using(JobEntities JE = new JobEntities()) { var BatchData = (from x in JE.vwBatchObjectActiveBatches select x).ToList(); } 从昨天开始,这条线有一个 NullReferenceException对象引用未设置为对象的实例 我怀疑是用户输入了

我有一个简单的Linq查询,它突然失败了。这一直持续到昨天,我还无法确定问题所在

查询只是从SQL Server获取完整视图

using(JobEntities JE = new JobEntities())
{
     var BatchData = (from x in JE.vwBatchObjectActiveBatches select x).ToList();
}
从昨天开始,这条线有一个

NullReferenceException对象引用未设置为对象的实例

我怀疑是用户输入了错误的数据,导致SQL Server上的视图失败,但我检查了SQL Server本身,视图运行正常,并填充了数据

这个查询运行在一个较大的函数的中间,加载许多地方的数据,所以我创建了一个测试案例,我只需加载主窗口并直接在代码后面运行这个查询,以确保没有其他东西影响它,查询仍然失败。我在这个项目中运行的所有其他Linq查询仍然有效,只有这个查询失败。该应用程序目前尚未投入任何生产,并且至少已经静止了几个月

当我在watch窗口中查看JE时,我可以看到VWBatchObjectActiveBatchs,它在本地部分列出了164条记录,这与SQL Server上的查看结果相匹配。展开“结果”视图再次显示空错误


我如何找到并修复导致此查询失败的原因?为什么结果视图显示错误,而本地行显示我试图获取的数据?

在实体框架不希望/不允许的情况下,数据库似乎返回NULL。返回的数据应符合其datamodel对象的定义


解决方案:要么“修复”数据,要么修复生成数据的查询,要么更改datamodel对象的定义以允许冲突字段为NULL。

VWBatchObjectActiveBatchs的类型是什么?请参阅。您可以发布TargetSite消息吗?在JE.vwBatchObjectActiveBatchs选择x.ToList==JE.vwBatchObjectActiveBatchs.ToList减去一些变形后,实体键似乎与x有关!可能是由可为空的列引起的。使实体属性也可为空。