使用asp.net 4虽然C#.
在我的数据访问层中,我有保存和更新记录的方法.保存很容易,但更新很繁琐.
我之前使用的SubSonic很棒,因为它有活动记录,并且知道如果我加载了一条记录,更改了一些条目然后又保存了它,它认为它是一个更新,并没有尝试在DB中保存一个新条目.
我不知道如何在LINQ中做同样的事情.结果我的工作流程如下:
如果我只保存'记录A',我最终会在数据库中输入一个新条目.
显然,通过记录A并执行以下操作会更好:
RecordA.Update();
Run Code Online (Sandbox Code Playgroud)
我假设我在这里缺少一些东西,但我无法在线找到一个简单的答案.
当 LINQ-to-SQL 更新数据库中的记录时,它需要确切地知道哪些字段发生了更改,以便只更新这些字段。您基本上有三个选择:
SubmitChanges(). 分配了现有值的任何属性都不会更新。Attach未修改和修改的值。我通常使用第一个选项,因为它最简单。两次数据库调用会带来性能损失,但除非您进行大量更新,否则这并不重要。