Entity framework 实体框架代码优先:在其他实体之间共享实体

Entity framework 实体框架代码优先:在其他实体之间共享实体,entity-framework,Entity Framework,我正在使用选择器属性在其他实体之间共享一个实体。 代码优先的代码是: public enum ContentTypes : byte { EntityA = 0, EntityB = 1 } public class SharedContent { public int Id { get; set; } public ContentTypes ContentType { get; set; } public string Name { get; set

我正在使用选择器属性在其他实体之间共享一个实体。 代码优先的代码是:

public enum ContentTypes : byte
{
    EntityA = 0,
    EntityB = 1
}

public class SharedContent
{
    public int Id { get; set; }
    public ContentTypes ContentType { get; set; }

    public string Name { get; set; }
    public string Description { get; set; }
}

public class EntityA
{
    public int Id { get; set; }

    [ForeignKey("ContentId")]
    public virtual SharedContent Content { get; set; }
    public int ContentId { get; set; }
}

public class EntityB
{
    public int Id { get; set; }

    [ForeignKey("ContentId")]
    public virtual SharedContent Content { get; set; }
    public int ContentId { get; set; }
}
执行以下代码从数据库中获取entityA后,实体框架将填充除entityA.Content之外的所有属性!怎么了?我需要什么来获取具有内容属性的entityA

var entityA = context.EntityA.Include(e => e.Content).ToList();

我错了!在原始代码中,我在构造函数中创建内容。 有关详细说明,请点击链接


我的错误!在原始代码中,我在构造函数中创建内容。 有关详细说明,请点击链接


请尝试为IDT使用“[key]”属性谢谢,但我已经在使用key属性了。我将更新示例代码。请尝试为IDT使用“[key]”属性。谢谢,但我已经在使用key属性。我将更新示例代码。