我试图创建一个通用方法,通过一个存储过程从Server获取数据,但它不返回任何数据:
public static IEnumerable<T> Select<T>(string SQL)
{
string spName = "exec spGetData @SQL";
var parametros = new object[]{
new SqlParameter("@SQL", SQL)
};
IEnumerable<T> result;
using (DBContext db = new DBContext())
{
result = from a in db.ObjectContext.ExecuteStoreQuery<T>(spName, parametros).ToList() select a;
}
return result;
}有人能帮我吗?
发布于 2015-06-13 02:29:39
EF处理存储过程并根据存储的proc结果的函数映射创建实体结果集,选择从EF上下文中使用。
步骤
Model Browser中包含存储的proc,该过程可以通过右键单击EF设计图面并选择Model Browser来显示。Model Browser中,查找Model Store -> Stored Procedures / Functions文件夹中存储的proc。通过查看Model-> Function Imports来验证映射是否良好,并且可以在Complex Types文件夹中找到结果实体。在那里,您可以将存储的proc从EF上下文中调用,并将结果集的列表返回给代码。
我在我的博客文章中给出了一个更全面的解释,并给出了一些复杂实体故障问题的提示和解决方法:实体框架存储过程指令
https://stackoverflow.com/questions/30811024
复制相似问题