我有以下代码:
using (var context = new MyContext())
{
context.Database.CommandTimeout = 5000;
context.Database.ExecuteSqlCommand("EXEC [DBO].[SP_IMPORT_MYDATA]");
context.SaveChanges();
}
当我进行调用时,该过程看起来正在运行,但数据库中没有任何更新。如果我直接从SQL Server Management Studio调用存储过程,那么它会立即启动并加载我的数据。 有人看到什么出错了吗?
为清楚起见,这是在SQL Server中调用的相同SP,它可以正常工作:
USE [MyDB]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_IMPORT_MYDATA]
SELECT 'Return Value' = @return_value
GO
答案 0 :(得分:-1)
为什么不能直接导入该函数并直接从上下文中调用它?它应该执行得很好。
从数据库更新模型,包括所需的存储过程。 使用模型浏览器查找SP并执行“添加功能导入”
然后,你可以这样做:
context.SP_IMPORT_MYDATA();
更多信息:http://msdn.microsoft.com/en-us/library/vstudio/bb896231(v=vs.100).aspx