2008-10-13 44 views
1

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

实施例:
对象动作(ID,名称,类型,说明,结果)
对象ActionError(ActionID,差错编号,ERRMSG)

有由ID Action和的ActionErrors之间的关联。在处理Actions时,我想记录一个错误。我可以将一个新的ActionError对象添加到ActionErrors集合中,但是如何将这些对象发送到数据库而不发送对Action的任何更改?是使用独立的数据上下文,只想在Linq to SQL中完成这个任务吗?

+0

什么是您的解决方案呢? 如果您想要更新一些对象,则多数据上下文方法有效,但如果您有数千个对象,并且您希望一次选择其中一个对象进行更新,那么该方法会如何工作?我无法在CMS的链接中找到很好的答案。任何想法或见解? – mphair 2009-11-03 02:09:18

+0

这只是你必须解决的问题。我相信L2S是围绕ActiveRecord模式设计的,这基本上意味着您一次只能有一个活动记录,并且可以提交更改。您可能想阅读里克斯特拉尔的帖子,链接在顶部的答案。 – 2009-11-11 11:16:28

回答

2

Here是如何LINQ的寿命管理,以SQL DataContext的好文章,可能会帮助你...

1

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

FWIW。我没有这样做,但看着这些文档,这是我想尝试的。

相关问题