如何将模型中的默认值转换为新的breeze客户端实体

时间:2013-11-03 16:39:42

标签: breeze

我想创建使用模型中定义的默认值的新实体。 我检查了检索到的元数据,默认值是:

  

{ “名称”: “名字”, “类型”: “Edm.String”, “最大长度”: “50”, “的unicode”: “真”, “定长”: “假”,“的默认值 “:” 管理员:   Nachname“},

但是在创建新实体时不会考虑它们。

1 个答案:

答案 0 :(得分:0)

这是Breeze中的一个错误,应该在下一个版本中修复,大约一周内。当此修复程序进入时,breeze将遵循它在EntityFramework数据模型中找到的任何defaultValues。

虽然一个问题是通过属性编辑器很容易将'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;