我使用 Fluent NHibernate 为 Oracle 数据库自动映射。My Domain 类有一些 Oracle 关键字作为属性名称。示例:组是 Oracle 中的关键字。当我们使用 Group 作为列时,它需要用引号括起来(如“Group”)。我们如何在 Fluent NHibernate 中处理这个问题?
我修改了 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;
}
}
}