我有一个带有一些属性的类,其中包含一个包含其他类对象的列表。
[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更新列表?
答案 0 :(得分:0)
将子对象的更新包含在循环中,如下所示:
using (var scope = db.GetTransaction())
{
db.Update(item);
foreach (var pictureLink in item.PictureLinks)
{
db.Update(pictureLink);
}
scope.Complete();
}
在事务中包含更新将确保在出现任何问题时进行回滚。