我已經使用Fluent NHibernate自動映射Oracle數據庫。我的域類有一些Oracle關鍵字作爲屬性名稱。示例:組是Oracle中的關鍵詞。當我們使用Group作爲列時,它需要用引號括起來(比如「Group」)。我們如何在Fluent NHibernate中處理這個問題?流利的NHibernate - ORA-00904::無效的標識符因爲對象屬性名稱是一個oracle關鍵字
我修改了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是強大的工具...;) –