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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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# 将选择器传递到select LINQ语句时引发的异常值不能为null_C#_Entity Framework_Linq - Fatal编程技术网

C# 将选择器传递到select LINQ语句时引发的异常值不能为null

C# 将选择器传递到select LINQ语句时引发的异常值不能为null,c#,entity-framework,linq,C#,Entity Framework,Linq,目前,我在数据访问层尝试使用实体框架作为ORM的语句2方法。然而,在某些情况下,它抛出异常 值不能为null。参数名称:源 然后在相同的条件下,我通过语句1方法还原代码,它毫无例外地返回预期结果 你能帮我解释一下发生了什么事吗?我想使用语句2方法,因为我可以将映射重新用于其他方法 我真的很感谢你帮我解决问题 声明1: var entities = _entityRepository.Where(...).Select(x=> new EntityDTO {...}); Func<

目前,我在数据访问层尝试使用实体框架作为ORM的语句2方法。然而,在某些情况下,它抛出异常

值不能为null。参数名称:源

然后在相同的条件下,我通过语句1方法还原代码,它毫无例外地返回预期结果

你能帮我解释一下发生了什么事吗?我想使用语句2方法,因为我可以将映射重新用于其他方法

我真的很感谢你帮我解决问题

声明1:

 var entities = _entityRepository.Where(...).Select(x=> new EntityDTO {...});
Func<Entity, EntityDTO> Selector = x => new EntityDTO {...};
var entities = _entityRepository.Where(...).Select(Selector );
声明2:

 var entities = _entityRepository.Where(...).Select(x=> new EntityDTO {...});
Func<Entity, EntityDTO> Selector = x => new EntityDTO {...};
var entities = _entityRepository.Where(...).Select(Selector );
Func Selector=x=>newentitydto{…};
var entities=_entityRepository.Where(…).Select(选择器);

您的代码应该可以正常工作。我打赌您稍后会在代码中更改
选择器
的值,但在具体化之前,dataSelector应该是
表达式
,而不是
函数
,顺便说一句,如果您想处理
IQueryable
,那么您的代码应该可以正常工作。我打赌您稍后会在代码中更改
选择器
的值,但是在具体化之前,顺便说一句,如果您想处理
IQueryable
,那么dataSelector应该是
表达式
,而不是
函数