Sae*_*ouv 10 mapping nhibernate orm fluent
我在使用多对多关系的Fluent NHibernate示例中遇到了问题.我试图找出类似案例的例子,我发现了吨,但我仍然遇到同样的问题.
运行测试项目时,抛出以下异常:
NHibernate.PropertyAccessException:发生异常project.Entities.User.UserName ---> System.Reflection.TargetException:Object与目标类型不匹配.
这是表格的图像:

和代码
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();
}
Run Code Online (Sandbox Code Playgroud)
这里是代码,Web上的大多数示例和Fluent Nhibernate映射页面都以相同的方式编写,所以任何想法?
twk*_*twk 15
关于我在我的项目中使用的代码,我将以这种方式定义你的manyTomany关系:
public UsersMap()
{
...
HasManyToMany(x => x.Roles)
.WithTableName("UserInRoles")
.WithParentKeyColumn("Usernamepk")
.WithChildKeyColumn("RoleIdpk");
}
public RolesMap()
{
...
HasManyToMany(x => x.Users)
.WithTableName("UserInRoles")
.WithParentKeyColumn("RoleIdpk")
.WithChildKeyColumn("Usernamepk");
}
Run Code Online (Sandbox Code Playgroud)
这样的定义对我有用.先检查一下,然后使用LazyLoading和其他一些属性进行装饰.
| 归档时间: |
|
| 查看次数: |
13971 次 |
| 最近记录: |