使用不同的主键将2个表映射到Entity Framework Fluent API中的单个实体

时间:2015-06-02 05:25:19

标签: c# entity-framework mapping

我有一个班级:

public class FormTemplate
{
    public Guid Id { get; set; }

    public virtual string Name { get; set; }

    public virtual string Code { get; set; }

    public virtual string Shifr { get; set; }

    public virtual FormType FormType { get; set; }

    public virtual DateTime ActivationDate { get; set; }
}

我需要将其拆分为db中的表。我有一个流畅的映射,为我这样做:

en.Map(m =>
{
    m.Properties(_ => new {_.Code, _.Name, _.Shifr});
    m.ToTable("Table1");
})
.Map(m =>
{
    m.Properties(_ => new {_.ActivationDate});
    m.ToTable("Table2");
}).HasRequired(t => t.FormType).WithMany().Map(m =>
{
    m.MapKey("FormType");
    m.ToTable("Table2");
});

它工作正常,但创建了两个具有相同主键列的表#34; Id"。是否可以将第一个表PK映射到列" Id"和第二个表PK到列"表格" ?

0 个答案:

没有答案