Fluent NHibernate を使用して NHibernate モデルをマップしています。
場合によっては、すべてのテーブルにアンダースコアを付けたいという問題が発生しました。したがってTable(...)
、マッピングの定義を変更することはできません。外部から変更する必要があります。
私がこれまでに持っているもの:
モデル:
class Foo
{
public virtual int Id { get; set; }
}
class FooMapping : ClassMap<Foo>
{
Table("foo_table");
Id(x => x.Id).Column("foo_id");
}
私のコントローラーのどこかに:
/*...*/
if (yourehappyandyouknowit)
{
Fluently.Configure()
/*...*/
.Conventions.Add(Table.Is(x => "_" + x.TableName));
/*...*/
}
これは常に「_foo_table」ではなく「foo_table」を出力します。
定義をコメントアウトすると、魅力的に機能します...しかし、マッピング内にセットTable(...)
が必要です。Table(...)