我目前正在使用ef6使用ef6使用代码首先方法的服务。

Breeze文档建议使用OdataconVentionModelBuilder的eDMbuilder以多种原因( http:// www.brezejs.com/documentation/odata-server )。我有几个问题 - :

1)ODATAconVentionModelBuilder出现不会生成“引用控制”标记,从而在$展开使用Breeze JS Client时对$ Select产生影响。但奇怪的是,同样的似乎在直接键入浏览器时似乎工作(使用$ empont&$ select),在使用OdataconVentionModelBuilder是否有任何工作?链接中所述的所有问题仍适用吗?

2)我们选择了一个纯的ODATA服务,使我们的API可用于各种ODATA消费者,我们希望将我们的服务通用,没有任何微风味道。添加EDMBuilder会使服务微风特定吗?

有帮助吗?

解决方案

当您发现,Microsoft的OdataconVentionModelBuilder不提供参考约束。到目前为止,使用EDMBuilder是唯一的解决方法。使用EDMbuilder不会使服务微风特定,因为那里没有微风特定代码。 (EDMBuilder的代码实际上由Microsoft工程师提供。但是,使用EDMBuilder确实排除了您的其余OdataconVentionModelBuilder功能,这很烦人。

我们正在考虑,允许通过一系列API调用从服务器进行修改/更新的ODATA元数据,其中您将直接在客户端上声明 。然后,您将使用OdataconVentionModel Builder而不是EDMBuilder并使用“新建”API“重置”约束。这显然不如检索来自服务器的数据一样好,但直到MS修复OdataconVentionModelBuilder,这可能是我们最好的选择。

这将是您的场景中的价值吗?

也,请联系MS并让他们了解您的挫败感。 :)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top