2

ISportsPerson私はいくつかのクラスによって実装されているインターフェースを持っています:

public interface ISportsPerson
{
    string Name { get; set; }
    int Salary { get; set; }
}

public class Footballer : ISportsPerson
{
    public virtual string Name { get; set; }
    public virtual int Salary { get; set; }
}

public class Cricketer : ISportsPerson
{
    public virtual string Name { get; set; }
    public virtual int Salary { get; set; }
}

...

私はスポーツ選手のコレクションを持つクラスを持っています

public class Award 
{
    public virtual IList<ISportsPerson> Winners { get; set; }
}

明らかに、自動マップすると、エラーが発生します。

 NHibernate.MappingException: Association references unmapped class: ISportsPerson

実装が 1 つしかない場合は、それをオーバーライドでマップします。

public class AwardOverride : IAutoMappingOverride<Award>
{
    public void Override(AutoMapping<Award> mapping)
    {
        mapping.HasMany<Footballer>(x => x.Winners);
    }
}

複数あるので、どうしようか迷っています。助言がありますか?

4

0 に答える 0