私は識別子としてId
という名前のプロパティを自動的にマッピングするmy idの規約を持っています。要件が満たされているので、私はドメインモデルを微調整する必要があるので、私はオンラインで行って、IAutoMappingOverride<T>
から継承するクラスを作成する必要があることを発見しました。自動マッピング規則はマッピングオーバーライドで機能しますか?
マイ大会:
public class PrimaryKeyConvention : IIdConvention, IIdConventionAcceptance
{
public void Apply(IIdentityInstance instance)
{
instance.Column("Id");
instance.GeneratedBy.SeqHiLo(instance.Name, "10");
}
public void Accept(IAcceptanceCriteria<IIdentityInspector> criteria)
{
criteria.Expect(x => x.Generator, Is.Not.Set);
}
}
マイオーバーライド:
public class LocateMappingOverride : IAutoMappingOverride<Locate>
{
public void Override(AutoMapping<Locate> mapping)
{
mapping.Map(x => x.SendTo).Not.Nullable();
}
}
予想通り、私は私のオーバーライドを削除する場合は、通常は作業を行います。
例外はThe entity 'LocateMappingOverride' doesn't have an Id mapped. Use the Id method to map your identity property. For example: Id(x => x.Id).
です。
マッピングオーバーライドと組み合わせて表記法を使用することはできますか?
コードでNhibernate 3.2の組み込みマッピングを検討したいことがあります。 – Newbie