0

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

[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; }
}

我想用 db.Update(Item) 之类的 npoco 进行更新 - 但是只有属性 Id 和 Name 得到更新,我怎样才能在同一个语句中使用 PictureLinks 更新列表?

4

1 回答 1

0

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

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

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

于 2014-10-28T19:46:32.547 回答