次のエンティティをそのままマッピングしています。
public class PersonEntity
{
public virtual string PersonId { get; set; }
public virtual String Salutation { get; set; }
public virtual String FirstName { get; set; }
public virtual String LastName { get; set; }
public virtual DateTime Birthdate { get; set; }
}
public class PersonMap : ClassMapping<PersonEntity>
{
public PersonMap()
{
//ComponentAsId(i => i.Key, map => map.Property(p => p.PersonId, m => m.Type(NHibernateUtil.AnsiString)));
Id(i => i.PersonId, map => map.Type(???)));
Property(i => i.Salutation);
Property(i => i.FirstName);
Property(i => i.LastName);
Property(i => i.Birthdate);
}
}
コメント アウトされたコードでわかるように、コンポーネントを Id として使用する場合、NHibernateUtil を使用して型を AnsiString として設定できます。ただし、プレーンな Id マッピングで何をすべきかわかりません。
を使用してみnew NHibernate.Type.AnsiStringType()
ましたが、コンストラクターが定義されていないことに不満があります。
アイデアはありますか?