1

我有一个包含自定义 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
4

0 回答 0