将Objects.ObjectResult <result>转换为对象</result>

时间:2012-11-28 17:42:58

标签: c# asp.net asp.net-mvc entity-framework

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

我在存储过程中调用的存储库获取对象,但是我得到Objects.ObjecResult<result>并且我不知道如何将它变成Producer对象

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我要这样做的方式是:

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

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