2

我的数据库中有很多表,其中一个需要为所有这些表保存公共数据。如何使用 EntityFramework CodeFirst 映射这些表,以便我可以使用普通查询 Lazy 或 Eager 加载此类数据?

这就是我的意思:

实体:

public class Table1 
{
  [Key]
  public int Id { get; set; }

  ...etc data
}

public class Table2 
{
  [Key]
  public Guid Id { get; set; }

  ...etc data
}

public class Table3 
{
  [Key]
  public string Id { get; set; }

  ...etc data
}

还有一张包含所有这些数据的表格:

public class CommonDataTable
{
   [Key]
   public Guid Id { get; set; }
}

通常我会通过创建如下表来映射它:

public class CommonDataMappingTable
{
  [Key]
  public Guid Id { get; set; }
  public string Mask { get; set; } // like: typeof(Table3).Name
  public string MappedID { get; set; } // like: Table3.Id.ToString()
  public virtual CommonDataTable MappedData { get; set; }    
}

但是一旦我对实体框架不熟悉,我就是不知道如何在 EF CodeFirst 模型中映射这种关系。感谢您的宝贵时间,并为我糟糕的英语感到抱歉。

4

0 回答 0