Breeze如何处理数据库列默认值?

Breeze如何处理数据库列默认值?,breeze,Breeze,我在文档中找不到任何关于这方面的信息,所以我会在这里询问。breeze如何处理数据库列默认值?我的数据库中有必需的列,但在数据库列定义中也为这些列提供了默认静态值。通常,我可以在这些列中插入null,新记录将获得默认值。然而,breeze似乎不知道数据库列的默认值,并且这些列中包含null的实体在保存时验证失败 谢谢, Mathias通过向数据库中具有默认值的列添加StoreGeneratedPattern=“Computed”属性,尝试编辑edmx xml 编辑: 实际上,在编辑xml之前,请

我在文档中找不到任何关于这方面的信息,所以我会在这里询问。breeze如何处理数据库列默认值?我的数据库中有必需的列,但在数据库列定义中也为这些列提供了默认静态值。通常,我可以在这些列中插入null,新记录将获得默认值。然而,breeze似乎不知道数据库列的默认值,并且这些列中包含null的实体在保存时验证失败

谢谢,
Mathias

通过向数据库中具有默认值的列添加StoreGeneratedPattern=“Computed”属性,尝试编辑edmx xml

编辑: 实际上,在编辑xml之前,请尝试在模型编辑器本身中将StoreGeneratedPattern属性设置为Computed。

Update: 这已在Breeze 1.4.6(或更高版本)中修复,现在可用

原职: Breeze中目前有一个bug,应该在下一个版本中修复,大约一周后发布。当此修复程序生效时,breeze将接受它在EntityFramework数据模型中找到的任何默认值

不过,一个问题是,虽然通过属性编辑器很容易将“defaultvalue”放入模型优先实体框架模型,但实际上很难将其放入代码优先EF模型,除非您使用fluent配置。不幸的是,EF在构造代码优先模型元数据时忽略了[DefaultValue]属性

您现在可以使用的一种解决方法是直接将“defaultValue”插入任何dataProperty。比如:

var customerType = myEntityManager.metadataStore.getEntityType("Customer");
var fooProperty = customerType.getProperty("foo");
fooProperty.defaultValue = 123;