Я пытаюсь определить, что мне говорит EF6, и это не имеет большого значения для меня, поэтому я надеюсь, что кто-то здесь сможет это прояснить.Картирование внешнего ключа Entity Framework
Я настраиваю мой FluentApi как это (составные ключи используются в БД, это код Первая из базы данных):
modelBuilder.Entity<Object1>()
.HasKey(e => new { e.Property1, e.Property2 }
.HasMany(e => e.Object2s)
.WithRequired(e => e.Object1)
.HasForeignKey(e => new { e.Property1, e.Property2 });
modelBuilder.Entity<Object2>()
.HasKey(e => new { e.Property2, e.Property3, e.Property1 })
.HasRequired(e => e.Object1)
.WithMany(e => e.Object2s)
.HasForeignKey(e => new { e.Property1, e.Property2 });
Все строит хорошо, но когда я иду, чтобы выбрать что-нибудь, я получить это:
«ограничение внешнего ключа 'Object1_Object2' из таблицы Объект2 (свойство2, property1) в таблицу Object1 (property1, свойство2) :: Недостаточный отображение: Внешний ключ должен быть отображен в некоторой AssociationSet или EntitySets участ pating во внешнем ключе Ассоциация на концептуальной стороне. "
Идеи? Я не понимаю, почему ограничение FK показывает FK Object2 в неправильном порядке, когда я определил правильный порядок в FluentApi.
http://stackoverflow.com/questions/17204554/foreign-key-must-be-mapped-to-some-associationset-or-entitysets-participating-in – Nab
@Nab Этот вопрос конкретно касается EDMX, а не свободно API. – Eris
@Eris, true - я наткнулся на это и не смог подбирать какую-либо релевантную информацию. – John