Как отобразить разбиение таблицы в EF Code First? - PullRequest
8 голосов
/ 22 марта 2011

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

1 Ответ

10 голосов
/ 24 марта 2011

Вот как я только что получил EF 4.1 (RC) для разделения таблицы в Code First.

  1. Определите ваши две сущности.Убедитесь, что ключ включен в обе сущности.Кроме того, включите свойства навигации в каждый объект, указывающий на другой объект.
  2. В переопределении OnModelCreating.,,а.Отобразите оба объекта в одну таблицу.б.Создайте отношения между двумя таблицами.

        modelBuilder.Entity<EntityOne>().ToTable("MySingleTable");
        modelBuilder.Entity<EntityTwo>().ToTable("MySingleTable");
    
        modelBuilder.Entity<EntityOne>().HasRequired(p => p.NavToEntityTwo).WithRequiredDependent(c => c.NavToEntityOne);
    

Это работает для меня, но я понимаю, что, учитывая новизну RC, я смог взглянуть только на ограниченное и простоесценарии.

...