多个类映射到Entity Framework 4.1 Fluent API中的同一个表

时间:2011-03-22 21:24:23

标签: c# entity-framework-4 ef-code-first entity-framework-4.1

我有一个非常简单的模型,它映射到我的数据库中的一个表(Projects)。我选择将图像抽象到自己的班级。

public class Project
{
    public long Id { get; set; }
    public string Name { get; set; }
    public Image Images { get; set; }
}

public class Image
{
    public string Thumbnail { get; set; }
    public string PrimaryImage { get; set; }
}

如何使用以下代码将我的模型连接到数据库中的表:

public class Context : DbContext
{
    public DbSet<Project> Projects { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        ????
    }
}

由于

2 个答案:

答案 0 :(得分:4)

您现在可以将对象模型映射到一个表,不需要流畅的API。 Code First会根据约定自动将Image类标记为Complex Type

答案 1 :(得分:2)

public class Project
{
    public long Id { get; set; }
    public string Name { get; set; }
    public Image Image { get; set; }
}

public class Image
{
    public string Thumbnail { get; set; }
    public string PrimaryImage { get; set; }
}    

public class YourContext : DbContext
{
    public DbSet<Project> Projects{ get; set; }        

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.ComplexType<Image>();
    }
}