LINQ to SQL - 实体属性 - 用另一个实体覆盖一个实体

use*_*383 5 c# linq-to-sql

首先,一点背景.我有一个DataContext对象(Linq to SQL).我用它来与我的SQL数据库进行交互.我在Visual Studio 2010中使用C#.

问题是:我可以编辑我想要的实体表中的条目.我选择带有查询的实体,更改特定字段,然后提交数据上下文更改.但是,让我说我得到一个单独的实体.该实体实际上是现有实体之一的编辑版本.所以想要发生的是这一个覆盖那一个.现在,是的,这是可能的.检查主键,并使用新键的字段覆盖旧键中的字段.那么问题出在哪里?问题是如果实体有40多个字段,单独分配每个字段会很痛苦.没有更快的方法或方法吗?

谢谢.

Den*_*aub 4

您可以使用该Attach()方法。如果数据库中已存在具有相同 ID 的实体,则该实体将被附加实体覆盖。

myDataContext.Customers.Attach(myCustomer);
myDataContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)