Linq to SQL - 您可以为单个对象提交更改吗?

时间:2008-10-13 20:08:25

标签: .net linq-to-sql

Linq to SQL是否支持提交对单个对象的更改? SubmitChanges方法将所有更改发送到数据库,但是如果我与错误日志表关联并且只想将记录保存到错误日志中而不将所有更改提交给其他表呢?

例:
对象操作(ID,名称,类型,描述,结果)
对象ActionError(ActionID,ErrNum,ErrMsg)

ID与Action和ActionErrors之间存在关联。处理动作时,我想要记录错误。我可以将一个新的ActionError对象添加到ActionErrors的集合中,但是如何在不向Action发送任何更改的情况下将这些对象发送到数据库?使用单独的数据上下文是否只想在Linq to SQL中实现这一点?

2 个答案:

答案 0 :(得分:2)

Here是一篇关于如何管理Linq to SQL DataContext生命周期的好文章,可能会帮助你...

答案 1 :(得分:1)

您可以使用带有RefreshMode.OverwriteCurrentValues的DataContext上的Refresh()方法刷新已更改的实体集合,然后更新ActionError并提交更改。

FWIW。我没有这样做,但是看看文档,我会尝试这样做。