يجيد NHibernate HasManyToMany () حفظ / تحديث مشكلة
-
07-07-2019 - |
سؤال
ولدي البرمجية التالية، والتي من المفترض أن تمنح وظيفة معينة ولكنها ليست: S
وعلى أي حال، وهنا مشكلتي:
http://img525.imageshack.us/img525/1315/diagramp.png
وهنا رمز رسم الخرائط:
public class UsersMap : ClassMap<User>
{
public UsersMap()
{
this.Table("Users");
Id(x => x.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);
Map(x => x.Status);
HasManyToMany(x => x.Roles)
.Table("UserInRoles").ParentKeyColumn("Username")
.ChildKeyColumn("RoleId").AsBag().Inverse();
}
}
public class RolesMap : ClassMap<Role>
{
public RolesMap()
{
this.Table("Roles");
Id(x => x.ID).GeneratedBy.Assigned();
Map(x => x.RoleName);
HasManyToMany(x => x.Users)
.Table("UserInRoles").ParentKeyColumn("RoleId")
.ChildKeyColumn("Username").AsBag().Cascade.All();
}
}
ومشكلتي هي عندما يحاول (تعيين دور للمستخدم معين) يتم إضافة اسم المستخدم إلى UserInRoles الجدول ولكن ID دور إذا كان موجود بالفعل ستتم إزالة من الصف corrosponding وتعيين إلى صف جديد، أي فكرة
المحلول
هل نظرت اتخاذ ManyToMany العمل من الاتفاقية ؟
والمثال مرتبط في الواقع يشير إلى الأدوار والى حد كبير ما تحاول القيام به هنا.
لا تنتمي إلى StackOverflow