Entity framework Breeze EF默认值为被Breeze覆盖的EF对象设置服务器端

Entity framework Breeze EF默认值为被Breeze覆盖的EF对象设置服务器端,entity-framework,breeze,Entity Framework,Breeze,我们在服务器端实现了一些分部类,这些分部类覆盖ef对象构造函数,并为一组字段提供默认值。当Breeze获得对象图时,它似乎正在四处传播并破坏这些默认值。是否有设置告诉Breeze仅在EF对象变脏或在客户端上看到更改时更新其值 解决方法:我们正在通过继承然后操作EFContextProvider来对Breeze隐藏这些字段,但它感觉有点恶心,有点难看。我们还希望避免在客户机中设置所有这些默认值,因为我们有其他不使用Breeze的接口,它允许我们在服务器端保持这种行为并易于共享 谢谢你在这个了不起的

我们在服务器端实现了一些分部类,这些分部类覆盖ef对象构造函数,并为一组字段提供默认值。当Breeze获得对象图时,它似乎正在四处传播并破坏这些默认值。是否有设置告诉Breeze仅在EF对象变脏或在客户端上看到更改时更新其值

解决方法:我们正在通过继承然后操作EFContextProvider来对Breeze隐藏这些字段,但它感觉有点恶心,有点难看。我们还希望避免在客户机中设置所有这些默认值,因为我们有其他不使用Breeze的接口,它允许我们在服务器端保持这种行为并易于共享

谢谢你在这个了不起的人身上做面条

更多信息: 实体框架正在跟踪一个类,比如车辆。在本例中,我们希望利用该类的默认构造函数来提供一些默认值,如IsValid=true、IsInStock=true、StockItemNumber=1123123等等。。。只是一些客户永远不会参与、也不需要管理的东西

当Breeze读取元数据并找到这些属性时,它会在保存时覆盖这些初始化值,并将它们重置回空值


在服务器上通过对Breeze元数据“隐藏”属性来处理这个问题让人感觉很不舒服,因为Breeze似乎很清楚某个特定字段是否“脏”,如果它知道某个字段从未被触碰过,那么就不去处理它又如何呢。我相信有一个很好的答案来解决这个问题,或者有一个很好的理由让其他人想到为什么这是一个糟糕的主意!tnx,-J

你能再详细一点吗?还是不太清楚你在描述什么。我在上面补充了一些信息。我还遇到了另一个或许可以更好地解释的例子。在阅读RavenDB规范时,我看到了这个术语“补丁”。这里对它进行了最好的描述,并讨论了一个过程,其中“更改”仅基于“修改”的字段合并到实体中,而不是整个正在编写的实体中。