Как отобразить разбиение таблицы в EF Code First?
Как я могу сопоставить разбиение таблицы с EF Code First? Разделение таблицы для EDMX описано, например, здесь. Это позволяет отображать два объекта с отношением 1:1 в одну таблицу. Я знаю, что могу сделать подобное сопоставление с сущностью и сложным типом, но большая разница в том, что сложный тип не может быть загружен с отложенной загрузкой (или не загружен вообще), что является основной причиной разделения таблицы.
1 ответ
Решение
Вот как я получил 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, я мог смотреть только на ограниченные и простые сценарии.