如何使用 EF Code First 映射表拆分?例如,描述了 EDMX 的表拆分here http://thedatafarm.com/blog/data-access/ef-table-splitting-ndash-the-opposite-of-entity-splitting/。它允许将具有 1:1 关系的两个实体映射到同一个表中。我知道我可以做类似的映射实体和复杂类型 http://weblogs.asp.net/manavi/archive/2010/12/11/entity-association-mapping-with-code-first-part-1-one-to-one-associations.aspx但最大的区别是复杂类型不能延迟加载(或根本不加载),这是表拆分的主要原因。
以下是我刚刚使用 EF 4.1 (RC) 在 Code First 中进行表拆分的方法。
- 定义您的两个实体。确保在两个实体中都包含密钥。此外,在每个实体中包含指向另一个实体的导航属性。
-
在您的 OnModelCreating 覆盖中。 。 。
A。将两个实体映射到同一个表。
b.创建两个表之间的关系。
modelBuilder.Entity<EntityOne>().ToTable("MySingleTable");
modelBuilder.Entity<EntityTwo>().ToTable("MySingleTable");
modelBuilder.Entity<EntityOne>().HasRequired(p => p.NavToEntityTwo).WithRequiredDependent(c => c.NavToEntityOne);
这对我来说很有效,但要意识到,鉴于 RC 的新颖性,我只能查看有限且简单的场景。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)