Причины CompositeId Не удалось скомпилировать документ сопоставления. Ошибка

Я пытаюсь использовать 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 не уникален.

Есть ли другой способ сопоставления с таблицей с составным первичным ключом?

Спасибо,

Мэтью МакФарланд

8
задан Matthew MacFarland 27 October 2011 в 12:31
поделиться