У меня есть одна таблица "Курсы" , сопоставленные двум сущностям "Курс" и "CourseDetails" .Оба имеют классы POCO с виртуальными навигационными свойствами.Оба объекта используют один и тот же идентификатор (идентификатор на курсе, но не на CourseDetail).Сопоставление между сущностями является « ограничением ссылочной целостности », а не окном «сопоставлений».Конечно, принцип в ограничении.
Я использую LazingLoading и ProxyCreationEnabled .
После вызова context.SaveChanges () соединения выглядят нормально (идентификаторы, ссылки и данные).
При доступе к course.CourseDetails из цикла в контексте. Курсы Я получаю пустые CourseDetails по умолчанию, созданные конструктором Course вместо фактических данных CourseDetails !?
Когда я вызываю context.LoadProperty (course, c => c.CourseDetails) Я получаю InvalidOperationException с сообщением:
" Нарушено ограничение множественности. Роль 'CourseDetails' отношения 'OrmComparisons.EFPocos1.CourseDetailsCourse' имеет кратность 1 или 0..1. "
Вопрос 1: Почемутакое конечно. Курс детализации пуст?Вопрос 2: Почему я получаю исключение?Вопрос 3: Что мне делать вместо этого?
Я могу поделиться файлом решения + файл sql, если кто-то захочет посмотреть.