我对在Linq2SQL中使用存储过程更新数据有点迷惑。我的问题是:当我使用存储过程更新数据库中的一些数据时(但这个存储过程没有映射到某个特定的实体),我是否应该在它之后调用SubmitChanges。另外,当我在循环中调用许多这样的过程时,事务怎么办?我应该通过Connection.BeginTransaction()方法或模型显式地创建事务吗?
同样,我知道当存储过程链接到模型中的某个实体时它是如何工作的,但现在我不会使用自定义存储过程来更新许多表中的记录。
感谢您的帮助!
发布于 2011-02-02 01:00:20
通过存储过程和LINQ to SQL更新非实体数据非常简单。只需将存储过程从服务器资源管理器拖到DBML设计器的空白区域(这样它就不会尝试返回实体对象),然后在代码中调用关联的生成方法,如下所示:
myDataContext.MyStoredProcedureMethod();该操作将立即执行,因此您不需要调用SubmitChanges()。
要将此调用(或循环等)包装在LINQ To SQL事务中,请参阅instructions and examples here以了解如何使用LINQ to SQL事务。
https://stackoverflow.com/questions/4860733
复制相似问题