多対多の関係を利用した Fluent NHibernate の例で問題が発生しています。同様のケースの例を見つけようとしましたが、たくさん見つかりましたが、まだ同じ問題が発生しています。
テスト プロジェクトを実行すると、次の例外がスローされます。
NHibernate.PropertyAccessException: project.Entities.User.UserName の getter で例外が発生しました ---> System.Reflection.TargetException: オブジェクトがターゲット タイプと一致しません。
これはテーブルのイメージです:
そしてコード
public UsersMap()
{
this.Table("Users");
Id(x => x.UserName).Column("Username").GeneratedBy.Assigned();
Map(x => x.FirstName);
Map(x => x.LastName);
Map(x => x.Password);
Map(x =>x.EMail);
Map(x => x.Title);
Map(x => x.Division);
HasManyToMany<User>(x => x.Roles)
.Table("UserInRoles").ParentKeyColumn("Username")
.ChildKeyColumn("Usernamepk")
.Cascade.SaveUpdate().LazyLoad();
}
public RolesMap()
{
this.Table("Roles");
Id(x => x.ID).GeneratedBy.Assigned().Column("ID");
Map(x => x.RoleName).Length(50);
HasManyToMany<User>(x => x.Users)
.Table("UserInRoles").ParentKeyColumn("ID")
.ChildKeyColumn("RoleIdpk").Cascade.SaveUpdate().LazyLoad();
}
ここにコードがあります。ウェブ上のほとんどの例と Fluent Nhibernate マッピング ページは同じ方法で書かれているので、アイデアはありますか?