如何在运行时更改OData EDM模型

时间:2019-10-28 15:29:38

标签: c# .net asp.net-web-api odata microservices

在OData服务中,已经注册并创建了动态EDM模型

public static void Register(HttpConfiguration config)
{
    config.MapODataServiceRoute("OData", "odata", GetEdmModel());
}

GetEdmModel()

private static IEdmModel GetEdmModel()
{
    var modelBuilder = new ODataConventionModelBuilder(); 
    modelBuilder.AddEntitySet("Movies", modelBuilder.AddEntityType(externalEntity));
    return modelBuilder.GetEdmModel();
}

访问元数据URL给我正确的模型 http://odatasample/OData/$metadata一切正常,

但是问题是externalEntity不是恒定的,可以在运行时更改。

是否在运行时更改OData EDM模型?

1 个答案:

答案 0 :(得分:-1)

重新考虑您的设计。

数据库模式(就像您的编程代码一样)应该是静态的。

注意依赖项。