LLBLGen默认变量字段值读取不为空但为空

时间:2012-07-16 03:37:36

标签: llblgenpro

我有一个LLBLGen实体。

MyEntity{
    public Decimal Foo;    //Stored in database as a NOT NULL field
}
....
public void SomeMethod(){
    MyEntity entity = new MyEntity();  //on initial inspection Foo reads as "0"

    adapter.SaveEntity(entity);  //will throw exception, "Foo can't be assigned a NULL value"
                                 //but on debug inspection, Foo = 0

    entity.Foo = 14M;
    adapter.SaveEntity(entity);  //will save ok.
}

如果我没有为数字赋值,调试器将其读取为非null,但是,它会抛出异常,告诉我它实际上是NULL。

我相信LLBLgen会自动为所有变量分配一个默认值,但我现在不能确定。

任何人都能够对此有所了解。感谢。

1 个答案:

答案 0 :(得分:0)

LLBLGen Pro运行时不会自动指定默认值,但您可以将其指定为数据库中的默认约束。

您可以通过检查实体上的“字段”集合来检查字段是否已分配值:

bool isValueAssigned = myEntity.Fields [(int)MyFieldIndex.Foo] .CurrentValue!= null;