我有一个包含自定义 IList 的实体,该 IList 依赖于其最大容量设置(它的默认最大容量为 10)。
该实体有一个包含此特定实例的最大容量的属性。
当实体被加载(例如使用GetById)时,列表是用默认的最大容量创建的。
有没有办法在 OrmLite 加载/水合实例时获取由 OrmLite 调用的特定方法?
public class Entity()
{
[AutoIncrement]
public int Id { get; set; }
public int MaxLength { get; set; }
public MyList<string> List { get; set; }
public void Init(int maxlength)
{
this.MaxLength = maxlength;
this.List = new MyList(maxlength);
}
}
var aaa = new Entity();
aaa.Init(50);
// ...adds 5 items...
db.Save<Entity>(aaa);
var bbb = db.GetById<Entity>(1);
// aaa.MaxLength => 50
// aaa.List.MaxLength => 50
// bbb.MaxLength => 50
// bbb.List.MaxLength => 10