linq2sql更新POCO有很多列的最佳方法

时间:2011-09-13 16:02:07

标签: linq-to-sql entity-framework-4

我正在尝试使用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();



    }
  }

我是否必须手动更新每个属性。请帮忙。

2 个答案:

答案 0 :(得分:3)

您可以使用像AutoMapper这样的对象映射工具,它几乎可以为您完成工作 - 在这个简单的情况下(属性名称在源和目标之间匹配)它将是一个单行映射这些。

答案 1 :(得分:0)

鉴于您在UI中使用相同的对象类型,为什么不直接将其插入DAL并直接调用更新?

This link提供了有关如何操作的详细信息。