Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 其中的实体框架NullReferenceException_C#_Entity Framework - Fatal编程技术网

C# 其中的实体框架NullReferenceException

C# 其中的实体框架NullReferenceException,c#,entity-framework,C#,Entity Framework,我有下面一行代码调用我的实体框架,并返回一个空引用异常 List<FieldGroup> fieldGroups = dataContext.FieldGroups.Where(fieldGroup => fieldGroup.Field_Catalog_Id == fieldVersion.FieldCatalogId && fieldGroup.Field_Catalog_Version == fieldVersion.FieldCatalogVersion

我有下面一行代码调用我的实体框架,并返回一个空引用异常

List<FieldGroup> fieldGroups = dataContext.FieldGroups.Where(fieldGroup => fieldGroup.Field_Catalog_Id == fieldVersion.FieldCatalogId && fieldGroup.Field_Catalog_Version == fieldVersion.FieldCatalogVersion).ToList();
List fieldGroups=dataContext.fieldGroups.Where(fieldGroup=>fieldGroup.Field\u Catalog\u Id==fieldVersion.FieldCatalogId&&fieldGroup.Field\u Catalog\u Version==fieldVersion.FieldCatalogVersion).ToList();
fieldVersion
已在方法的前面生成,我已确认它,其字段
FieldCatalogId
FieldCatalogVersion
不为空且具有正确的值

我的上下文,
dataContext
,虽然名称不正确,但正在连接到我的数据库,并且它在FieldGroups表中确实有行。我还确认,具有
Field\u Catalog\u Id
Field\u Catalog\u Version
的行与where exist中请求的值匹配,因此它应该能够找到要返回的行

我无法确定该行为何抛出NullReferenceException。欢迎提出任何意见。如果我能提供更多有用的信息,请告诉我

Edit:当抛出异常时,我确实查看了局部变量,并且所引用的内容没有显示为null


我添加了Debug.Assert以检查
dataContext
dataContext.FieldGroups
fieldVersion
fieldVersion.FieldCatalogId
fieldVersion.FieldCatalogVersion
在问题行之前是否不为空。代码通过了所有5个断言,仍然抛出了一个NullReferenceException。我在这些字段中找不到任何可能导致异常的空字段。

如果没有where,它会返回什么?属性是否正确映射到它们的表列?表是否正确映射到表名?您的
dataContext
null吗?
fieldVersion
很可能为null。查询不会引发随机NullReferenceException。添加
Debug.Assert(dataContext!=null);Assert(dataContext.FieldGroups!=null);Assert(fieldVersion!=null);Assert(fieldVersion!=null)
在查询之前,查看哪一个爆炸。当抛出异常时,您应该能够告诉空值。把鼠标悬停在所有的东西上,试着看看哪里不对劲,看看当地人。。。