Запретить Nhibernate schemaexport генерировать уникальные ограничения - PullRequest
0 голосов
/ 25 октября 2019

Я использую FluentNHibernate 2.0.3.0 для создания файлов сопоставления для сущностей в моем проекте.

У меня есть ситуация, когда мне нужен уникальный столбец, который допускает значения NULL, которых я достиг в SQL напрямую:

CREATE UNIQUE NONCLUSTERED INDEX idx_Entity1_Field1 ON Entity1 (Field1) WHERE Field1 is not null

Проблема в том, что если вы сохраните .Unique() или.UniqueKey("idx_Entity1_Field1") ограничение на карту сущностей, то он будет генерировать неправильный SQL:

create table Entity1 (
    Field1 NVARCHAR(255) NULL UNIQUE
)

Если я удаляю ограничение .Unique() или .UniqueKey("idx_Entity1_Field1") из карты сущностей, когда я пытаюсь использовать FluentValidation для проверкиограничение выполнено, оно не знает об этом.

Существует ли подобный метод для предотвращения генерирования .UniqueKey("idx_Entity1_Field1") или .Unique() при экспорте схемы?

Это очень похоже на

Запрет на создание схемы внешнего ключа Nhibernate имеет много взаимосвязей

...