我使用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