Eug*_*kov 8 c# odata asp.net-web-api2
我正在使用ODataConventionModelBuilder为Web API OData服务构建Edm Model,如下所示:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.Namespace = "X";
builder.ContainerName = "Y";
builder.EntitySet<Z>("Z");
IEdmModel edmModel = builder.GetEdmModel();
Run Code Online (Sandbox Code Playgroud)
Z类位于一个组件中,并且存在来自Z的公共类Q位于不同的组件中.
ODataConventionModelBuilder将生成包含类Q(以及其他派生类)定义的Edm Model,并将使用服务元数据公开它.在我们的案例中这是不可取的.
当派生类无法访问(例如定义为内部)这样的问题时,肯定不存在.
有没有办法强制ODataConventionModelBuilder不自动公开所有派生类型的元数据?
这应该工作:
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.Namespace = "X";
builder.ContainerName = "Y";
builder.EntitySet("Z");
builder.Ignore<Q>();
IEdmModel edmModel = builder.GetEdmModel();
Run Code Online (Sandbox Code Playgroud)