我有如下映射一類TrainingSpecialty:NHibernate的流利映射導致無效指數n此SqlParameterCollection以計數= N
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。這個的目的是添加新的表單。 (請注意,表單沒有導航屬性返回到TrainingSpecialty。如果不更改Form類別,則沒有簡單的方法來添加表單並添加對TrainingSpecialty的引用,這就是我更新TrainingSpecialty的原因。)
我遇到的第一個錯誤更新TrainingSpecialty是Domain.EvaluationForm.Domain.TrainingSpecialty.FormsBackref的脫水屬性值出錯。
內部異常是此計數= 3的SqlParameterCollection的索引3無效。
應該總是有一個先前存在的窗體,我現在試圖添加一個窗體。我查找了重複映射的字段(按照其他人有此問題)。
此映射如何關閉?