Entity framework 如何在使用EdmBuilder.GetEdm()时指定“EntityContainer”元数据输出?

Entity framework 如何在使用EdmBuilder.GetEdm()时指定“EntityContainer”元数据输出?,entity-framework,asp.net-web-api,odata,breeze,ado.net-entity-data-model,Entity Framework,Asp.net Web Api,Odata,Breeze,Ado.net Entity Data Model,我正在使用OData、Breeze和代码优先实体框架。我最近从ODataConventionModelBuilder切换到EdmBuilder,遇到了一些问题 我有两个类,分别是Soldier和Dependent,它们继承自抽象类Person。这些实体在模式中显示为EntityTypes,但EntityContainer中只显示抽象类Person。有没有办法将EDM配置为忽略抽象类,而是授予对继承类的访问权?或者至少让我访问这三个网站 在我的背景下,我有: ... public

我正在使用OData、Breeze和代码优先实体框架。我最近从ODataConventionModelBuilder切换到EdmBuilder,遇到了一些问题

我有两个类,分别是Soldier和Dependent,它们继承自抽象类Person。这些实体在模式中显示为EntityTypes,但EntityContainer中只显示抽象类Person。有没有办法将EDM配置为忽略抽象类,而是授予对继承类的访问权?或者至少让我访问这三个网站

在我的背景下,我有:

    ...
    public virtual DbSet<Soldier> Soldiers { get; set; }
    public virtual DbSet<Dependent> Dependents { get; set; }
    ...
每个都有自己的EntityTypeConfiguration:

public class SoldierConfiguration : EntityTypeConfiguration<Soldier>
    {
        public SoldierConfiguration()
        {
            ToTable("Soldiers");

            ...
        }
    }
结果元数据只是容器,整个东西太大了:

<EntityContainer xmlns:p5="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" Name="ApplicationDBContext" p5:UseClrTypes="true">
...
<EntitySet Name="People" EntityType="Site.Models.Person"/>
...
</EntityContainer>
你可以看到,即使我想询问士兵,也只有人出现。

我们面临着一场战争。您是否能够找到解决方案或解决方法?