Orm 如果同一子实体出现在实体框架4.3中的不同实体下,如何将其映射到不同的表?

Orm 如果同一子实体出现在实体框架4.3中的不同实体下,如何将其映射到不同的表?,orm,entity-framework-4.1,Orm,Entity Framework 4.1,我需要使用EntityFramework4.3映射以下类层次结构 public abstract class Rule { public long Id {get;set;} public abstract ICollection<Parameter> Parameters {get;set;} } public class Entity1 { public long Id {get;set;} public ICollection<Rule&

我需要使用EntityFramework4.3映射以下类层次结构

public abstract class Rule
{
    public long Id {get;set;}
    public abstract ICollection<Parameter> Parameters {get;set;}
}

public class Entity1
{
    public long Id {get;set;}
    public ICollection<Rule> Rules {get;set;} 
    // Map Rule to table Entity1Rules and    
    // Parameters to table Entity1RuleParameters
}

public class Entity2
{
    public long Id {get;set;}
    public ICollection<Rule> Rules {get;set;} 
    // Map Rule to table Entity2Rules and    
    // Parameters to table Entity2RuleParameters
}
公共抽象类规则
{
公共长Id{get;set;}
公共抽象ICollection参数{get;set;}
}
公共类实体1
{
公共长Id{get;set;}
公共ICollection规则{get;set;}
//将规则映射到表Entity1规则和
//表Entity1RuleParameters的参数
}
公共类实体2
{
公共长Id{get;set;}
公共ICollection规则{get;set;}
//将规则映射到表Entity2Rules和
//表Entity2RuleParameters的参数
}

谢谢,这是不可能的。每个实体只能映射一次。这将要求您在
规则
参数
类中包含一些继承,但最后您的
实体1
实体2
将需要引用派生规则来设置正确的结构。

这被称为“多态关系”,一种可以由。