Tengo un problema en el ejemplo de Fluiber NHibernate que utiliza las relaciones de Muchos a Muchos. Traté de encontrar ejemplos en un caso similar, y encontré toneladas, pero sigo teniendo el mismo problema.Fluido NHibernate HasManyToMany() Asignación
Cuando se ejecuta el proyecto de prueba, la excepción siguiente:
NHibernate.PropertyAccessException: Se produjo excepción captador de project.Entities.User.UserName ---> System.Reflection.TargetException: El objeto no partido tipo de objetivo.
Ésta es una imagen de las tablas:
y el código
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();
}
Este es el código, la mayoría de los ejemplos en la web y la página de asignaciones Fluido Nhibernate están escritos en de la misma manera, entonces ¿alguna idea?
por cierto, im utilizando la versión 1.0 Fluido, por lo que el .WithTableName() es la tabla() en su lugar, de todos modos, traté de usarlo sin lazyload y otros defeintions, pero sigue siendo la misma excepción: S – Saeedouv
¿Seguro que necesita ser mapeado ambos lados? – UpTheCreek
Para mi situación, no quiero atacar en dos direcciones. Tengo compañía, persona y dirección y cada compañía o persona puede tener más de 1 dirección. En esta situación, ¿qué debería hacer? – uzay95