因此,我從我的數據庫不是在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