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

发布于 2024-12-04 12:15:56 字数 1042 浏览 0 评论 0原文

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



    }
  }

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

I am trying to update a POCO using lin2sql. I can also use entity framework. For updating objects I follow the next routine.

//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();



    }
  }

Do I have to update each property manually . Please help .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄风 2024-12-11 12:15:56

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

You can use an object mapping tool like AutoMapper which pretty much will do the work for you - in this simple case (property names match between source and target) it would be a one-liner to map these.

魂归处 2024-12-11 12:15:56

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

此链接提供了有关如何操作的详细信息。

Given that you are using you same object type in the UI, why not just plug it into the DAL and call update directly?

This link gives details on how to do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文