提交更改是否适用于所有 linq2sql 对象,即使它们是在单独的文件中定义的
我正在努力改进我的数据访问模式,因此我正在努力确保在需要的地方使用事务处理。
我想知道,如果我在许多不同的存储库类(数据访问类)中进行许多更改,然后仅从一个类调用 SubmitChanges,这是否安全,即使我在事务中使用了其他类。
是否有关于 linq2sql 事务最佳实践的好教程,以及我在哪里需要比 SubmitChanges 内置事务更复杂的解决方案?
I am trying to get better at my data access patterns, and as such am trying to ensure where needed I am using things with transactions.
I wonder, if I make many changes, across many different Repository Classes (data access classes) and then just call SubmitChanges from one class, will that be safe, even if I have used other classes as part of my transaction.
Is there a good tutorial for best practice linq2sql transactions, and where would I need a more complex solution than the built in transactions of SubmitChanges?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当调用 SubmitChanges() 时,对属于同一 DataContext 的 linq to sql 对象的所有更改都将提交到数据库,无论从何处调用。
All changes to linq to sql objects belonging to the same DataContext will be committed to the database when SubmitChanges() is called, no matter where it's called from.
是的,那会很安全。只要您调用一次 SubmitChanges,Linq-2-sql 就会执行所有更新,并且它将在 linq-2-sql 为您创建的一个事务中执行此操作。无需自己添加单独的交易。
好吧,我能想到的是如果您想使用单独的数据上下文进行更新,例如跨多个数据库。
Yes, that will be safe. As long as you call SubmitChanges once, Linq-2-sql will do all the updates and it will do do so in one transaction that is created for you by linq-2-sql. There is no need to add a separate transaction yourself.
Well, all I can think of is if you want to update using separate datacontexts, for example accross multiple databases.