LINQ to SQL - 有没有办法限制SubmitChanges()的范围?

时间:2011-05-22 08:07:39

标签: linq-to-sql

有没有办法将SubmitChanges()的范围限制为整个数据域的子集?

示例:

  

Bob打算更新Web订单,但是   爱丽丝插入了一处房产,不知道   鲍勃,更新产品价格(仅在内存中,不推送到数据库)   被写入。鲍勃认为这是一个   应该不惜一切代价避免的歪曲。   鲍勃希望他可以限制范围   WebOrders子域的更新。

根据我的理解,我必须相信应用程序中的其他代码没有对域的其他部分进行不必要的更改。

能够将SubmitChanges()限制为仅从域的子集中触摸这些对象似乎很好。

1 个答案:

答案 0 :(得分:4)

不,不可能。 DataContext是工作单元(it behaves exactly same as context in entity framework),因此首先不应在多个用户操作之间共享它。只有Bob的更改应该在上下文中,因此他决定保存所有更改或丢弃所有更改的上下文(= Dispose)。