Linq更新一个完整的行

时间:2013-05-07 19:01:30

标签: asp.net asp.net-mvc vb.net linq entity-framework

所以我想用我拥有的数据更新/替换一个完整的行。 而不是做 entityA.Name = entityB.Name

我想说像entityA = entityB,其中entitiyB与entityA相同,但有新值。

请告诉我。

谢谢..

1 个答案:

答案 0 :(得分:0)

简单地执行entity1 = entity2会改变entity1引用,因此上下文不会更多地跟踪新引用。因此,changd值不会更新。

你应该使用对象映射器。我个人使用可以使用包管理器控制台上的命令Install-Package Glue安装的GLUE 还有其他人也喜欢AutoMapper

如果你使用胶水,那么只需制作一个像

的映射
var mapping = new Mapping<entity1, entity2>();
mapping.AutoRelateEqualNames();
//or define a mapping using .Relate()
//then call map
mapping.Map(entity1)//this will return entity2
or if you already have an object tracked by a context class call
entity2 = mapping.Map(entity1, entity2);