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

本文关键字:实体 一个 覆盖 to SQL 属性 LINQ 另一个 | 更新日期: 2023-09-27 18:17:28

首先介绍一下背景。我有一个DataContext对象(Linq到SQL)。我用它来与我的SQL数据库进行交互。我在Visual Studio 2010中使用c#。

问题是这样的:我可以编辑我想要的实体表中的条目。我选择具有查询的实体,更改特定字段,然后提交数据上下文更改。但是假设我得到了一个独立的实体。这个实体实际上是一个现有实体的编辑版本。所以要发生的是这个覆盖那个。是的,这是可能的。检查主键,并用新键的字段覆盖旧键中的字段。那么问题在哪里呢?问题是,如果实体有40多个字段,那么单独分配每个字段是一件痛苦的事情。没有更快的方法或途径来做这件事吗?

谢谢。

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

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

myDataContext.Customers.Attach(myCustomer);
myDataContext.SubmitChanges();

您可以使用Automapper框架来实现此目的。它还可以用于多个例程需求,例如