c# – 使用复杂数据类型在EF中调用存储过程

前端之家收集整理的这篇文章主要介绍了c# – 使用复杂数据类型在EF中调用存储过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一名ASP.NET / MVC 3.0 VS2010项目中的Entity Framework新手.我已经导入了两个存储过程作为函数导入,并在这样做时为每个创建了一个复杂的数据类型.

我正在尝试运行以下c#代码

public ComplexDataType RunStoredProc()
{
    var context = new DbEntities();
    int param1 = 370;
    int param2 = -1;
    string param3 = "Current";

    ComplexDataType result = new ComplexDataType;
    result = context.StoredProc(param1,param2,param3);
    return result;
}

我收到了错误

Cannot implicitly convert data type 
    System.Data.Objects.ObjectResult(ComplexDataType) to 'ComplexDataType'

我究竟做错了什么?如何在复杂数据类型中正确存储存储过程的结果?

解决方法

您可以使用DbSet.sqlQuery方法从存储过程中获取结果.
int param1=12;
int param2=53;
var results=context.ComplexDataTypes.sqlQuery.
                       ("dbo.YourSPNameHere @p0 @p1",param1,param2).Single();

假设你有一个这样的集合定义了你的DbContext类.

public DbSet<ComplexDataType> ComplexDataTypes { set;get;}

更多信息可用于here.

猜你在找的C#相关文章