如何使用 EF Code First 映射表拆分?例如,此处描述了 EDMX 的表拆分。它允许将两个具有 1:1 关系的实体映射到同一个表中。我知道我可以对实体和复杂类型进行类似的映射,但最大的区别是复杂类型不能延迟加载(或根本不加载),这是表拆分的主要原因。
问问题
5649 次
1 回答
10
这是我刚刚获得 EF 4.1 (RC) 在 Code First 中进行表拆分的方法。
- 定义您的两个实体。确保在两个实体中都包含密钥。此外,在每个实体中包含指向另一个实体的导航属性。
在您的 OnModelCreating 覆盖中。. . 一种。将两个实体映射到同一个表。湾。创建两个表之间的关系。
modelBuilder.Entity<EntityOne>().ToTable("MySingleTable"); modelBuilder.Entity<EntityTwo>().ToTable("MySingleTable"); modelBuilder.Entity<EntityOne>().HasRequired(p => p.NavToEntityTwo).WithRequiredDependent(c => c.NavToEntityOne);
这对我有用,但要意识到鉴于 RC 的新颖性,我只能查看有限且简单的场景。
于 2011-03-23T21:47:47.953 回答