0

我有一个 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。

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

请任何能够对此有所了解的人。谢谢。

4

1 回答 1

0

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

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

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

于 2012-07-17T09:00:31.920 回答