我可以基于我的数据库中的表创建模型,然后使用Entity Framework(6)成功地操作Web API 2控制器。但是,如果已根据存储过程创建模型,则无法创建Web API 2控制器。我收到错误消息:
运行所选代码生成器时出错。无法检索....的元数据
我尝试了几个存储过程,每个过程都有相同的结果。我还尝试使用操作创建Web API 2控制器的ODATA版本并获得相同的结果。
存储过程返回一个记录集。
如何解决或解决此问题?
答案 0 :(得分:0)
生成的dbContext应该生成存储的proc包装器,如下所示:
public virtual ObjectResult<uspStoredProcName_Result> uspStoredProcName(string abc)
{
...
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<uspStoredProcName_Result_Result>("uspStoredProcName_Result", abcParameter);
}
然后在你的代码中,你会这样称呼它:
var abcResults = dbContext.uspStoredProcName(abc).ToList();
确保在生成模型时选择了存储过程(DbContext)