将对象.对象结果<result>转换为对象



我在 MVC asp.net 有一个存储库

我调用存储库来获取对象,但我得到了Objects.ObjecResult<result>,我不知道如何将其变成生产者对象

 Entities enteties = new Entities();
 Product contact = (Product)enteties.uspGetProduct(productId);

我收到以下错误无法将类型"System.Data.Objects.ObjectResult"转换为"Models.Product"

在实体框架中使用存储过程时,它会返回ObjecResult<result>因此您需要将其转换为所需的类型。您可以使用选择运算符进行投射,如下所示:

return query.Select(x=> new Product {
// Assign properties here 
Id = x.Id
}).ToList()

我会这样做的方法是:

如果存储过程返回 Product 类型的单个元素

Entities enteties = new Entities();
var data = enteties.uspGetProduct(productId).GetEnumerator();
if(data.MoveNext())
    Product contact = enteties.uspGetProduct(productId).GetEnumerator().Current;

最新更新