Я использовал Fluent NHibernate для автоматической карты для базы данных Oracle. В моем классе Domain есть ключевые слова Oracle как имена свойств. Пример: Группа является ключевым словом в Oracle. Когда мы используем Group в качестве столбца, она должна быть заключена в кавычки (например, «Группа»). Как мы можем позаботиться об этом в Fluent NHibernate?Fluent NHibernate - ORA-00904:: недопустимый идентификатор Поскольку имя свойства объекта является ключевым словом оракула
Я изменил IColumnInstances, чтобы добавить метод ColumnName и добавил Конвенцию. После добавления этого кода он выдает еще одну ошибку «ORA-00907: отсутствует правая скобка». Есть ли альтернативное решение?
Вот код
public class ColumnNameConvention : IColumnConvention
{
public void Apply(IColumnInstance instance)
{
try
{
if (instance.Name.Length > 30)
{
instance.ColumnName(instance.Name.Substring(instance.Name.Length - 25, 25));
}
else
{
instance.ColumnName("\"" + instance.Name + "\"");
}
instance.Length(200);
}
catch (System.Exception ex)
{
throw ex;
}
}
}
Спасибо .. Это сработало ... Я опубликую рабочий код. – Mohan
Замечательно видеть это! Nhibernate - мощный инструмент ...;) –