Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/7.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
Entity framework 4 如何使用存储过程在EntityFramework4中返回单个实体?_Entity Framework 4 - Fatal编程技术网

Entity framework 4 如何使用存储过程在EntityFramework4中返回单个实体?

Entity framework 4 如何使用存储过程在EntityFramework4中返回单个实体?,entity-framework-4,Entity Framework 4,实体框架的新功能。使用EF4。我找到了文章,并设法使用存储过程返回实体列表 但无法查看/计算如何返回单个实体 假设我有一个返回单个客户的存储过程“GetCustomerById”,我如何映射它 使用模型浏览器,我右键单击“函数导入”,并添加了我的StoredProcess 然而,无论我选择什么,似乎都不会返回“单个实体” 我是否错过了显而易见的事情 非常感谢您提供的任何链接或建议在执行函数导入时,您需要从下拉列表中选择SP返回的实体(即客户)。catch is EF不会根据您的选择直接返回Cus

实体框架的新功能。使用EF4。我找到了文章,并设法使用存储过程返回实体列表

但无法查看/计算如何返回单个实体

假设我有一个返回单个客户的存储过程“GetCustomerById”,我如何映射它

使用模型浏览器,我右键单击“函数导入”,并添加了我的StoredProcess 然而,无论我选择什么,似乎都不会返回“单个实体”

我是否错过了显而易见的事情

非常感谢您提供的任何链接或建议

在执行函数导入时,您需要从下拉列表中选择SP返回的实体(即客户)。catch is EF不会根据您的选择直接返回Customer对象,而是实现IEnumerable。 更具体地说,以下是为您的函数生成的代码:

public ObjectResult<Customer> GetCustomerById(Nullable<global::System.Int32> Id)

感谢您的回复。因此,无论您是映射到单个实体还是实体列表。它将创建一个IEnumerable,由我来获取FirstOrDefault.mmmm,这是有意义的。在我工作的过程中,我创建了一个复杂类型,我认为这是错误的。没有问题,是的,从.NET 4.0开始,EF能够将SP的结果具体化到您的实体中,就像我说的,它只是用ObjectResult包起来。在执行函数导入时,请确保选择准确的实体,而不是复杂的类型。
Customer myCustomer = context.GetCustomerById(1).First();