我有一个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.
}
如果我不给一个数字赋值,调试器会将其读取为非空,但是,它会抛出一个异常,告诉我它实际上是空的。
我相信LLBLgen会自动为所有变量分配一个默认值,但现在我不能这么确定。
请任何能对此有所了解的人。谢谢
LLBLGen Pro运行时不会自动分配默认值,但您可以在数据库中将其指定为默认约束。
您可以通过检查实体上的"字段"集合来检查字段是否分配了值:
bool isValueAssigned=myEntity.Fields[(int)MyFieldIndex.Foo].CurrentValue=无效的