Добавьте уникальное ограничение на несколько столбцов с помощью FluentNHibernate - PullRequest
9 голосов
/ 30 ноября 2010

У меня есть класс, который имеет первичный ключ, а также 2 внешних ключа.Иностранные комбинации должны быть уникальными.Я не вижу способа сделать это (по крайней мере, с тех пор, как SetAttribute устарел).

Джеймс коснулся этого с помощью SetAttribute: Как создать многостолбцовый индекс или уникальное ограничение с помощью NHibernate

1 Ответ

20 голосов
/ 30 ноября 2010

Это может быть полезно кому-то еще, сопоставление уникальных ограничений FNH выполняется следующим образом:

mapping.References<FirstClass>(x => x.FirstClass).UniqueKey("unique123"); mapping.References<SecondClass>(x => x.SecondClass).UniqueKey("unique123");

Далее поясняется, что это только создает ограничение в БД, но что разработчик отвечает за перехват повторных попыток вставки, в противном случае будет выдан SqlException о том, что было нарушено ограничение UNIQUE KEY.

из группы FNH

...