我有呼叫使用EF這樣的存儲過程需要一些時間來執行(〜60秒):從實體框架6的異常行爲調用存儲過程
context.Database.ExecuteSqlCommand(
"myStoredProcedure @param1",
new SqlParameter("param1", param1)
);
該存儲的過程包括兩個部分:
插入新行到表
tblSomeTable
事後計算從多個表中的一些信息是不要包括
tblSomeTable
。
第二個操作是耗時的。當我從SSMS執行此存儲過程我可以看到,一個新行程序完成執行這是一個正常的行爲之前加入到tblSomeTable
,但是,當我使用上述代碼然後一個新行中運行相同的確切過程僅當過程完成執行時纔會添加tblSomeTable
。
此外,在程序運行時,我根本無法查詢tblSomeTable
(均來自EF和SSMS),從我認爲鎖定tblSomeTable
直到過程結束。這是爲什麼發生?
這是SQL Server 2008的
您的ExecuteSqlCommand工作是否成功?你只想知道在運行命令時你可以看到tblSomeTable中的數據?對? – CodeNotFound
是的,它是的,是的,我只想看到tblSomeTable中的行。 (在過程完成之前) – astralmaster