Я использую 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(...)
в сопоставлении.