- SchemaMetadataUpdater.QuoteTableAndColumns (nhibConfig);
- configuration.ExposeConfiguration (x => x.SetProperty ("hbm2ddl.keywords", "auto-quote"));
Я пытался выше обоих. Это не сработало для меня с последним Fluent NHibernate (5f7adcd) и последним postgresql 8.4. Эти два вероятно на немой по Fluent NHibernate. Если вы используете
NHibernate и HBM без свободно, это сработало бы для вас.
Чтобы явно попросить Fluent NHibernate сгенерировать цитируемый идентификатор для таблицы и столбца,
Я установил два файла в исходном коде Fluent NHibernate, чтобы заставить его работать на postgresql.
(Если вам не нужна такая же сборка для других баз данных)
пространство имен: FluentNHibernate.MappingModel.Output
Добавить "Цитировать" к имени таблицы в XmlClassWriter.cs
if (classMapping.HasValue(x => x.TableName))
classElement.WithAtt("table", new System.Text.StringBuilder().Append("\"").Append(classMapping.TableName).Append("\"").ToString());
Добавить "Цитировать" к имени столбца в XmlColumnWriter.cs
if (columnMapping.HasValue(x => x.Name))
element.WithAtt("name", new System.Text.StringBuilder().Append("\"").Append(columnMapping.Name).Append("\"").ToString());
Пока это работает как шарм. Получить источник на http://github.com/jagregory/fluent-nhibernate
и создайте свой собственный с вышеуказанными обновлениями.