如何使用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的列表?
将子对象的更新封装在一个循环中,如下所示:
using (var scope = db.GetTransaction())
{
db.Update(item);
foreach (var pictureLink in item.PictureLinks)
{
db.Update(pictureLink);
}
scope.Complete();
}
如果出现任何问题,将更新封装在事务中将确保回滚。