Ich habe ein Problem in Fluent NHibernate Beispiel unter Verwendung der Viele-zu-Viele-Beziehungen. Ich habe versucht, Beispiele für einen ähnlichen Fall zu finden, und ich habe Tonnen gefunden, aber ich habe immer noch das gleiche Problem.Fließend NHibernate HasManyToMany() Mapping
Wenn das Testprojekt läuft, wird die folgende Ausnahme ausgelöst:
NHibernate.PropertyAccessException: Ausnahme aufgetreten Getter von project.Entities.User.UserName ---> System.Reflection.TargetException: Objekt nicht Spiel Zieltyp.
Dies ist ein Bild der Tabellen:
und der Code
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();
}
hier ist der Code, die meisten Beispiele auf der Bahn und der Fluent NHibernate Zuordnungen Seite geschrieben in Auf die gleiche Weise, also irgendwelche Ideen?
btw, ich benutze fließend Version 1.0, so dass die .WithTableName() ist Table() stattdessen, ich habe versucht, es ohne LazyLoad und andere Entscheidungen zu verwenden, aber immer noch die gleiche Ausnahme: S – Saeedouv
Sind Sie sicher, dass es muss beiden Seiten zugeordnet werden? – UpTheCreek
Für meine Situation möchte ich nicht in beide Richtungen binden. Ich habe Firma, Person und Adresse und jede Firma oder Person kann mehr als 1 Adresse haben. Was soll ich in dieser Situation tun? – uzay95