Свободное отображение столбцов NHibernate с зарезервированным словом - PullRequest
15 голосов
/ 09 октября 2009

Я читал, что использование обратной галочки `должно позволять использовать зарезервированные слова. Я использую SQL Server и Fluent NHibernate и у меня есть имя столбца «Файл». Если я сопоставлю это с

"`File" 

пытается использовать

[Fil]

так что он правильно добавляет скобки, но опускает букву "е" с конца. Если я сопоставлю это как

"`Filee"

используется

[File]

правильно.

Я что-то не так делаю или это ошибка в NHibernate или Fluent Nhibernate?

Ответы [ 3 ]

20 голосов
/ 21 мая 2010

Вам нужно поставить `с обеих сторон, вот так:

"`File`"

Как говорит @Astaar, полный синтаксис:

Map(x => x.File).Column("`File`");
5 голосов
/ 28 марта 2013

Чтобы быть совершенно ясным, точный синтаксис будет

Map(x => x.File).Column("`File`");
4 голосов
/ 02 марта 2015

Существуют не ручные параметры конфигурации для этого, как описано здесь: NHibernate: принудительное использование квадратных скобок при экспорте схемы?

, а также альтернатива: Свободный NHibernate и PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException: указанный метод не поддерживается

например. SchemaMetadataUpdater.QuoteTableAndColumns(cfg), который в FluentNhibernate будет выглядеть примерно так:

var config = Fluently.Configure()
   ...
   ...
   .ExposeConfiguration(cfg => SchemaMetadataUpdater.QuoteTableAndColumns);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...