如何为继承的泛型类型创建实体数据模型?

时间:2009-10-08 23:46:31

标签: entity-framework ado.net-entity-data-model

我不知道如何使用Entity Framework将基于以下类(简化)的现有对象结构导入数据库(EF是约束,我必须使用它)。

public abstract class WahWahProperty
{
  public string Name { get; set; }
  public abstract Type PropertyType { get; }
}

// ----------------

public class WahWahProperty<T> : WahWahProperty
{
  public T Value { get; set; }

  public override Type PropertyType
  {
    get { return typeof(T); }
  }
}

// ----------------

public class WahWahContainer
{
  public List<WahWahContainer> Children { get {...}; }
  public List<WahWahContainer> Parents { get {...}; } // multiple "Parents" allowed
  public List<WahWahProperty> Properties { get {...}; }
  //... some more props here ...
}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

EF不支持通用实体类型(这似乎就是你正在做的事情)。

虽然我们在EF 4.0中进行了更改(不在Beta1中),因此您可以使用从泛型类派生的非泛型类作为实体。

无论如何希望这有帮助

亚历

项目经理实体框架小组

Entity Framework Tips