У меня есть класс TrainingSpecialty, который отображается следующим образом:
public TrainingSpecialityMap()
{
Table("TrainingSpecialty");
Id(o => o.Id).GeneratedBy.Native();
DiscriminateSubClassesOnColumn(CandidateTrainingDatabase.TrainingSpecialtyTable.IsCombinedColumn)
.Formula(
string.Format("case when {0} is null then 0 else {0} end", CandidateTrainingDatabase.TrainingSpecialtyTable.IsCombinedColumn));
Map(o => o.Code);
Map(o => o.Name).Not.Nullable();
Map(o => o.TrainingProgramType, "ProgramType").Not.Nullable();
HasMany(o => o.Forms)
.Not.KeyNullable()
.KeyColumn("TrainingSpecialtyID").Cascade
.SaveUpdate();
Map(o => o.ProcedureTitle).Nullable();
HasMany(o => o.Procedures);
}
Я пытаюсь создать новую форму, добавить ее в список TrainingSpecialty.Forms, а затем обновить файл TrainingSpecialty. Целью этого является добавление новой формы. (Обратите внимание, что Form НЕ имеет свойства навигации обратно к TrainingSpecialty. Без изменения класса Form нет простого способа просто добавить форму со ссылкой на TrainingSpecialty, поэтому я обновляю TrainingSpecialty.)
Первая ошибка, которую я получаю при обновлении TrainingSpecialty: Ошибка обезвоживания значения свойства для Domain.EvaluationForm.Domain.TrainingSpecialty.FormsBackref.
Внутреннее исключение: Неверный индекс 3 для этой коллекции SqlParameterCollection со значением Count=3.
Всегда должна быть одна ранее существовавшая форма, и сейчас я пытаюсь добавить вторую. Я искал поля, которые дублируются (как и другие, у которых была эта проблема).
Как отключается это отображение?