私はこれらのテーブルを持っています:
create table Person
(
PersonId int identity(1,1) primary key,
PersonName nvarchar(100) not null
);
create table Question
(
QuestionId int identity(1,1) primary key,
QuestionText nvarchar(100) not null,
AskedBy_PersonId int not null references Person(PersonId),
QuestionModifiedBy_PersonId int not null references Person(PersonId)
);
そして私はこれらのモデルを持っています:
public class Question
{
public virtual int QuestionId { get; set; }
public virtual string QuestionText { get; set; }
public virtual Person AskedBy { get; set; }
public virtual Person QuestionModifiedBy { get; set; }
}
public class Person
{
public virtual int PersonId { get; set; }
public virtual string PersonName { get; set; }
}
FluentNHibernateで自動マッピングを使用しています。参照プロパティは、デフォルトで次のデータベース列名になります。
AskedBy_id
QuestionModifiedBy_id
FluentNHibernateで、参照プロパティをこのスタイルの外部列名にマップするにはどうすればよいですか?
AskedBy_PersonId
QuestionModifiedBy_PersonId
今のところ、私は手動でオーバーライドしています:
.Override<Question>(x =>
{
x.References(y => y.AskedBy).Column("AskedBy_PersonId");
x.References(y => y.QuestionModifiedBy).Column("QuestionModifiedBy_PersonId");
})
そのオーバーライドを削除し、FluentNHibernateで外部列名を上記の命名パターンに自動的に従わせたいと思いました
Fluent NHibernateでそれをどのように達成できますか?