1

也许我还没有完全了解模型。我坚持认为,这可能是错误的,EF 框架可以映射任何类型的类。所以我确实为类提供了不同的接口、ToString()方法等等。

我正在为某种公共组织考虑可重用/灵活的类结构。

例如,有下一节课

[Serializable]
public abstract class AbstractRole
{
    public String Title { get; set; }

    public abstract void ExecuteRole();
    public abstract Decimal GetSalary();

    // ToString(...) implementations and so on
}

[Serializable]
public class Employee<T> : IComparable<Employee<T>>, IFormattable where T : AbstractRole
{
    private Person person;        
    public T Role { get; set; }

    // interfaces implementations...       
}

所以我想要的只是灵活地及时改变员工的角色,而不是绑定到它的实例(避免继承)。

但后来我读到 EF 不支持泛型。

我该怎么办?

4

1 回答 1

3

如果是实体框架,您必须提供确切的类型。仅当整个继承树也被映射时,才支持基类。根本不支持接口和泛型类型。

这意味着可重用和灵活的架构不是可以使用 EF 的东西。

于 2011-08-20T12:02:53.653 回答