因此,我从我的数据库不是在dbo(默认)架构中导入存储过程到我的实体模型。实体框架6和存储过程与架构名称
存储过程的名称不是dbo.MyProc;相反,它是:person.MyProc(注意架构名称是“人”,而不是“DBO”)
出于某种原因,当我尝试执行存储过程我得到一个错误,就像的EntityFramework一无所知MyProc的是个人模式。以下是我尝试在我的代码来执行存储过程:
using (var dbContext = new DataModel.PersonEntity())
{
dbContext.dbOp_DeletePerson(personId);
}
这是我得到的错误:
EntityCommand.CommandText的值是无效的 StoredProcedure的命令。该EntityCommand.CommandText值的格式必须是“ContainerName.FunctionImportName”
和追查下来一点的 ,这里是从实体框架的代码自动生成线:
回报 ( (IObjectContextAdapter)this).ObjectContext.ExecuteFunction(" dbOp_DeletePerson ", PersonId);
重申一下,dbOp_DeletePerson在“person”架构中不是dbo。
在此先感谢您的帮助!
是啊告诉我关于它。不幸的是,我们现在使用EF6;请更新我,如果你找到更好的替代 – DotNet98 2014-12-10 18:15:05
现在是否有修复? – Julian50 2015-04-30 07:24:39