Я использую 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 имеет много взаимосвязей