我有一个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会自动为所有变量分配一个默认值,但我现在不能确定。
任何人都能够对此有所了解。感谢。
答案 0 :(得分:0)
LLBLGen Pro运行时不会自动指定默认值,但您可以将其指定为数据库中的默认约束。
您可以通过检查实体上的“字段”集合来检查字段是否已分配值:
bool isValueAssigned = myEntity.Fields [(int)MyFieldIndex.Foo] .CurrentValue!= null;