Я столкнулся со следующей ошибкой при попытке перенести базу данных в Entity Framework.
Указанные столбцы внешнего ключа ассоциации «question_set_id» недействительны. Количество указанных столбцов должно совпадать с количеством столбцов первичного ключа.
Я удалил исходный первичный ключ QuestionSetId и создал отношение составного ключа. Столбцы в отношении составного ключа также сопоставляются с внешними ключами. Я не уверен, в чем проблема.
Вот связанный объект.
public class QuestionSet
{
[Key, Column(Order = 1)]
public long TitleId { get; set; }
[ForeignKey("TitleId")]
public virtual Title Title { get; set; }
[Key, Column(Order = 0)]
public long ReviewCycleId { get; set; }
[ForeignKey("ReviewCycleId")]
public virtual ReviewCycle ReviewCycle { get; set; }
public virtual List<Question> Questions { get; set; }
}
DbContext имеет:
modelBuilder.Entity<QuestionSet>()
.HasMany(c => c.Questions)
.WithMany(c => c.QuestionSets)
.Map(x => x.ToTable("QUESTION_SET_QUESTION")
.MapLeftKey("question_set_id")
.MapRightKey("question_id"))
;
Question
Entity. Этот объект должен иметь составной внешний ключ дляQuestionSet
. Кажется, чтоQuestion
имеет question_set_id в качестве внешнего ключа для своегоQuestionSet
хотя. - person Dabblernl   schedule 08.09.2014QuestionSet
имеет составной первичный ключ, и вы указываете один внешний ключ в своем свободном коде API для соединительной таблицы Question_Set_Question. - person Dabblernl   schedule 09.09.2014