我使用ODataConventionModelBuilder建立EDM模型的Web API OData服务是这样的:如何防止ODataConventionModelBuilder自动公开所有派生类型的元数据?
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.Namespace = "X";
builder.ContainerName = "Y";
builder.EntitySet<Z>("Z");
IEdmModel edmModel = builder.GetEdmModel();
类ž位于一个组件,并且有公共类Q从ž衍生位于不同的组装。
的ODataConventionModelBuilder意愿生成EDM模型该包括定义类Q的(其他派生类中),它会与服务元数据被暴露。在我们的情况下这是不可取的。
当派生类不可访问(例如定义为内部)这样的问题当然不存在。
是否有办法强制ODataConventionModelBuilder不会自动公开所有派生类型的元数据?
工程就像一个魅力,谢谢!我怎么能错过这个... – 2014-10-09 08:30:25
这并不妨碍自动发现。我有几十个继承的实体,单独忽略它们中的每一个都是不切实际的,并且最终以一些“序列包含多个元素”错误为代价。 – Jerther 2015-01-07 22:31:15
这是通过设计:https://aspnetwebstack.codeplex.com/workitem/1928 – Jerther 2015-01-08 14:22:43