Я пытаюсь использовать CompositeId для сопоставления с устаревшей системой. Исходная база данных имеет составной первичный ключ, поэтому я не могу использовать обычное сопоставление this.Id.
Вот моя попытка сопоставить его:
public PriorityListPartMap()
{
this.Schema("EngSchedule");
this.Table("vPriorityListPart");
this.CompositeId().KeyProperty(x => x.AssemblyPartNumber).KeyProperty(x => x.PartNumber);
this.Map(x => x.CurrentDueDate);
this.Map(x => x.OrderLine);
this.Map(x => x.OrderNumber);
this.Map(x => x.PartDescription);
this.Map(x => x.ProductCode);
this.Map(x => x.Revision);
}
Когда я пытаюсь создать фабрику сеанса, это сопоставление вызывает ошибку: Не удалось скомпилировать документ сопоставления: (XmlDocument)
Я попытался удалить Сопоставление CompositeId и заменил его на:
this.Id(x => x.AssemblyPartNumber).GeneratedBy.Assigned();
Ошибка исчезнет с этим сопоставлением, но я не могу его использовать, поскольку AssemblyPartNumber не уникален.
Есть ли другой способ сопоставления с таблицей с составным первичным ключом?
Спасибо,
Мэтью МакФарланд