我想创建使用模型中定义的默认值的新实体。我检查了检索到的元数据,默认值在那里:
{"name":"LastName","type":"Edm.String","maxLength":"50","unicode":"true","fixedLength":"false"," defaultValue ":"admin:名称"},
但是,在创建新实体时不会考虑它们。
我想创建使用模型中定义的默认值的新实体。我检查了检索到的元数据,默认值在那里:
{"name":"LastName","type":"Edm.String","maxLength":"50","unicode":"true","fixedLength":"false"," defaultValue ":"admin:名称"},
但是,在创建新实体时不会考虑它们。
这是 Breeze 中的一个错误,应该在大约一周后的下一个版本中修复。当此修复程序生效时,微风将尊重它在 EntityFramework 数据模型中找到的任何默认值。
一个问题是,虽然通过属性编辑器很容易将“defaultValues”放入 Model First Entity Framework 模型中,但实际上很难将其放入 Code First EF 模型中,除非您使用流畅的配置。不幸的是,EF 在构造 Code First 模型元数据时忽略了 [DefaultValue] 属性。
您现在可以使用的一种解决方法是将“defaultValue”直接插入任何 dataProperty。就像是:
var customerType = myEntityManager.metadataStore.getEntityType("Customer");
var fooProperty = customerType.getProperty("foo");
fooProperty.defaultValue = 123;