gpt4 book ai didi

entity-framework - 如何使用 EF 将数据从一张表 "transfer"到另一张表?

转载 作者:行者123 更新时间:2023-12-03 23:31:23 26 4
gpt4 key购买 nike

我的数据库中有两个包含相同列的表。我在一个表(名为 TB1)中有一个记录,我想使用 EF 将它“传输”到另一个表(名为 TB2)。

我对EF不是很熟悉,所以我的想法是在这个方向:

var testEntity = new TestEntities();
var data1 = testEntity.TB1.Find(id);
var data2 = new TB2();

// Pass all the properties from one object (data1) to another (data2)

testEntity.TB2.Add(data2);
testEntity.TB1.Remove(data1);
testEntity.SaveChanges();

但是,为了继续这个逻辑,我必须手动将所有属性从一个对象传递到另一个对象。并且它包含很多属性(大约 50 个)。

由于它们具有相同的属性,我真的认为必须有一种更简单的方法来执行这个过程,但我不知道如何。

有没有更简单的方法来“传输”这些数据?

最佳答案

Entity Framework 具有处理复制对象属性的功能。见 https://msdn.microsoft.com/en-us/data/jj592677.aspx

最简单的方法是使用 CurrentValues.SetValues()

var testEntity = new TestEntities();
var data1 = testEntity.TB1.Find(id);
var data2 = new TB2();

data2.CurrentValues.SetValues(data1);

testEntity.TB2.Add(data2);
testEntity.TB1.Remove(data1);
testEntity.SaveChanges();

This technique is sometimes used when updating an entity with values obtained from a service call or a client in an n-tier application. Note that the object used does not have to be of the same type as the entity so long as it has properties whose names match those of the entity.

关于entity-framework - 如何使用 EF 将数据从一张表 "transfer"到另一张表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com