如何使用npoco更新列表中包含其他对象的对象

本文关键字:对象 包含 其他 列表 何使用 npoco 更新 | 更新日期: 2023-09-27 18:28:09

我有一个带有一些属性的类,其中有一个包含其他类对象的列表。

[TableName("tblItem")]
[PrimaryKey("ITM_Id", AutoIncrement = false)]
[ExplicitColumns]
public class Item
{
    [Column("ITM_Id")]
    public Guid Id { get; set; }
    [Column("ITM_Name")]
    public string Name { get; set; }
    public List<PictureLink> PictureLink { get; set; }   
}
[TableName("tblPictureLink")]
[PrimaryKey("PIL_Id", AutoIncrement = false)]
[ExplicitColumns]
public class PictureLink
{
    [Column("PIL_Id")]
    public Guid Id { get; set; }
    [Column("PIL_InformationType")]
    public string InformationType { get; set; }
}

我想用类似npoco的数据库进行更新。更新(项目)-但只有属性Id和名称会更新,我如何在同一语句中更新带有PictureLinks的列表?

如何使用npoco更新列表中包含其他对象的对象

将子对象的更新封装在一个循环中,如下所示:

 using (var scope = db.GetTransaction())
 {
     db.Update(item);
     foreach (var pictureLink in item.PictureLinks)
     {
         db.Update(pictureLink);
     }
     scope.Complete();
  }

如果出现任何问题,将更新封装在事务中将确保回滚。

相关文章: