Ответ 1
Вам нужно поставить `с обеих сторон, например:
"`File`"
Как говорит @Astaar, полный синтаксис:
Map(x => x.File).Column("`File`");
Я читал, что использование обратного тика `должно допускать использование зарезервированных слов. Я использую SQL Server и Fluent NHibernate и имею имя столбца "Файл". Если я сопоставляю его с
"`File"
он пытается использовать
[Fil]
поэтому он правильно добавляет скобки, но отбрасывает "e" с конца. Если я нарисую его как
"`Filee"
он использует
[File]
правильно.
Я делаю что-то неправильно или это ошибка в NHibernate или Fluent Nhibernate?
Вам нужно поставить `с обеих сторон, например:
"`File`"
Как говорит @Astaar, полный синтаксис:
Map(x => x.File).Column("`File`");
Чтобы быть совершенно ясным, точный синтаксис был бы
Map(x => x.File).Column("`File`");
Для этого здесь не предусмотрены опции ручной настройки: NHibernate: принудительные квадратные скобки при экспорте схемы?
а также альтернативный вариант: Fluent NHibernate и PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException: указанный метод не поддерживается
например. SchemaMetadataUpdater.QuoteTableAndColumns(cfg)
, который в FluentNhibernate будет выглядеть как
var config = Fluently.Configure()
...
...
.ExposeConfiguration(cfg => SchemaMetadataUpdater.QuoteTableAndColumns);