我正在尝试使用lin2sql更新POCO。我也可以使用实体框架。为了更新对象,我遵循下一个例程。
//GridView Control gives me some updated POCOS As an Example: Person updated;
function UpdatePerson(Person myUpdatedPersonfromUI)
{
using (Entity con = new Entity() ) {
var recordFromdB = from obj in con.Person where obj.PK = myUpdatedPersonfromUI.PK
select obj;
Person personOnDB = recordFromdB.Single();
// now for each column I update personOnDB
personOnDB.Property1 = myUpdatedPersonfromUI.Property1 ;
personOnDB.Property2 = myUpdatedPersonfromUI.Property2 ;
personOnDB.Property3 = myUpdatedPersonfromUI.Property3 ;
personOnDB.Property4 = myUpdatedPersonfromUI.Property4 ;
// continue updating fields ...
..
.
personOnDB.Property124 = myUpdatedPersonfromUI.Property124 ;
con.SaveChanges();
}
}
我是否必须手动更新每个属性。请帮忙。
答案 0 :(得分:3)
您可以使用像AutoMapper这样的对象映射工具,它几乎可以为您完成工作 - 在这个简单的情况下(属性名称在源和目标之间匹配)它将是一个单行映射这些。
答案 1 :(得分:0)
鉴于您在UI中使用相同的对象类型,为什么不直接将其插入DAL并直接调用更新?
This link提供了有关如何操作的详细信息。