Вот моя проблема:
Домен: у меня есть следующие объекты: [Датчик], которые могут быть расположены в [Местоположение].Это отношения многие ко многим.Я разбил его на два, один-ко-многим, чтобы собрать [Положение] [Сенсора] в [Местоположение].Промежуточным объектом является [SensorPosition].
Отображение для [SensorPosition] выглядит следующим образом:
CompositeId().KeyReference(sp => sp.Sensor).KeyReference(sp => sp.Location);
References(sp => sp.Sensor).ForeignKey().Not.Nullable();
References(sp => sp.Location).ForeignKey().Not.Nullable();
Component(sp => sp.Position, p =>
{
p.Map(pos => pos.X);
p.Map(pos => pos.Y);
p.Map(pos => pos.Z);
});
Я использую CompositeId () для принудительного ограничения только одного [Sensor] в одном[Место нахождения].(Один и тот же [датчик] может находиться в разных [местоположениях], это поворот бизнес-логики)
Мой вопрос: могу ли я добавить к этому сгенерированный первичный ключ (Id)?Я пробовал это, но с CompositeId () в отображении он не генерируется.Или есть какой-то другой способ принудительно применить это ограничение ?