实体框架没有执行存储过程
本文关键字:执行 存储过程 框架 实体 | 更新日期: 2023-09-27 18:13:06
我有以下一段代码:
using (var context = new MyContext())
{
context.Database.CommandTimeout = 5000;
context.Database.ExecuteSqlCommand("EXEC [DBO].[SP_IMPORT_MYDATA]");
context.SaveChanges();
}
当我调用时,进程看起来正在运行,但数据库中没有更新任何内容。如果我直接从SQL Server Management Studio调用存储过程,那么它会立即启动并加载我的数据。有人看到哪里出错了吗?
为清楚起见,这是相同的SP被调用在SQL Server和它工作良好:
USE [MyDB]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_IMPORT_MYDATA]
SELECT 'Return Value' = @return_value
GO
为什么不能直接导入函数并从上下文中调用它呢?它应该可以正常执行。
从数据库更新模型,包括所需的存储过程。使用模型浏览器找到SP并执行"Add function import"
然后,你可以这样做:
context.SP_IMPORT_MYDATA();
更多信息:http://msdn.microsoft.com/en-us/library/vstudio/bb896231(v=vs.100).aspx