我在使用多对多关系的 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 映射页面都是以相同的方式编写的,所以有什么想法吗?