Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Linq到SQL-您可以提交单个对象的更改吗?_.net_Linq To Sql - Fatal编程技术网

.net Linq到SQL-您可以提交单个对象的更改吗?

.net Linq到SQL-您可以提交单个对象的更改吗?,.net,linq-to-sql,.net,Linq To Sql,LINQtoSQL中是否支持向单个对象提交更改?SubmitChanges方法将所有更改发送到数据库,但是如果我与一个errorlog表关联,并且只想将记录保存到errorlog中,而不将所有更改提交到其他表中,该怎么办 示例: 对象操作(ID、名称、类型、描述、结果) 对象ActionError(ActionID、ErrNum、ErrMsg) 操作和操作错误之间存在ID关联。在处理操作时,发生了一些我想记录错误的情况。我可以向ActionErrors集合中添加一个新的ActionError对象

LINQtoSQL中是否支持向单个对象提交更改?SubmitChanges方法将所有更改发送到数据库,但是如果我与一个errorlog表关联,并且只想将记录保存到errorlog中,而不将所有更改提交到其他表中,该怎么办

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


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

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


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

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

我应该知道Rick Strahl会介绍这一点。谢谢从我读到的内容来看,如果您需要一次更新一个对象,那么您应该避开linq到sql。这是你的决定,杰夫,还是我错过了其他解决方案?你的解决方案是什么?如果您有几个对象要更新,那么多数据上下文方法可以工作,但是如果您有数千个对象,并且希望一次选择其中一个对象进行更新,该怎么办?我在CMS的链接中找不到一个很好的答案。有什么想法或见解吗?这只是你必须解决的问题。我相信L2S是围绕ActiveRecord模式设计的,这基本上意味着一次只有一条活动记录,可以提交更改。你可能想阅读Rick Strahl在顶部答案中链接的帖子。