Entity Framework 4.1 Fluent API 中的多个类映射到同一个表
Posted
技术标签:
【中文标题】Entity Framework 4.1 Fluent API 中的多个类映射到同一个表【英文标题】:Multiple classes mapping to the same table in Entity Framework 4.1 Fluent API 【发布时间】:2011-03-22 21:24:23 【问题描述】:我有一个非常简单的模型,它映射到我数据库中的一个表(项目)。我选择将图像抽象到它自己的类中。
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)
????
谢谢
【问题讨论】:
【参考方案1】:您的对象模型将被映射到现在的一个表,不需要流畅的 API。 Code First 会根据约定自动将 Image 类标记为Complex Type。
【讨论】:
【参考方案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>();
【讨论】:
以上是关于Entity Framework 4.1 Fluent API 中的多个类映射到同一个表的主要内容,如果未能解决你的问题,请参考以下文章
Entity Framework 4.1 InverseProperty 属性和ForeignKey
Entity Framework 4.1 Fluent API 属性
卸载 Entity Framework 4.1 六月 CTP
通过 Entity Framework 4.1 中的用户定义函数进行热切加载