こんにちは、私のシナリオ
public class Permission
{
public virtual Function Function { get; set; }
public virtual Profile Profile { get; set; }
}
public class MapPermission : ClassMap<Permission>
{
public MapPermission()
{
Table("Permissions".ToUpper());
CompositeId().KeyProperty(x => x.Function, "FunctionID").KeyProperty(x => x.Profile, "ProfileID");
}
}
ここで、関数とプロファイルは2つの簡単にマップされるエンティティです。実行すると、次のエラーが発生します。
次のタイプを判別できませんでした:Data.Model.Entities.Function、Data.Model、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null、列の場合:NHibernate.Mapping.Column(FunctionID) "}
これを回避する方法はありますか?最終的には、2つのカスタムマップクラスによって作成されたCompositeIDを使用してクラスを作成する必要があります。intフィールドでcompositeIDを使用すると、チャームのように機能します
前もって感謝します
関数(プロファイルのような)マッピング
public class Function
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
}
public class MapFunction : ClassMap<Function>
{
public MapFunction()
{
Table("FUNCTIONS");
Id(x => x.ID);
Map(x => x.Name);
}
}