我有呼叫使用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