如何让Linq-to-SQL忽略INSERT触发器修改的列?

时间:2010-09-23 10:56:08

标签: linq-to-sql triggers conflict optimistic-concurrency

我的一个表上有一个列,我的数据库中的各种INSERT / DELETE触发器正在更新 - 触发器根据链接表的内容执行一些计算,并将结果存储在基表的列中,以便于查询等等。

当我尝试更新这些表时,Linq-to-SQL抛出了ChangeConflictException - 可能是因为触发器正在修改此列,因此L2S认为存在数据冲突。

我正在寻找的确切行为如下:

  • L2S应在检索对象时检索此列值
  • L2S应忽略对此列值的更改 - 代码中所做的更改不应保留到数据库
  • 应忽略保存方面的冲突。
  • (如果可能的话)应该在任何插入/更新操作之后从数据库中检索最新值 - 但是如果困难的话我可以没有这个。

任何人都可以帮我在Linq-to-SQL中实现这种行为吗?

谢谢,

迪伦

1 个答案:

答案 0 :(得分:3)

您应该在LINQ to SQL设计器中将列配置为自动生成(就像使用主键一样)。这将防止这些冲突。