我有一个类似下面的通用方法
public void Add(T entity)
{
using (EntityUsers entityUser = new EntityUsers())
{
entityUser.Set<T>().Add(entity);
entityUser.SaveChanges();
}
}
我的数据库中有三个表。用户,角色和UserRoles。 UserRoles包含UserId和RoleId(多对多关系)。我使用下面的代码将新用户添加到具有现有角色的数据库中。
Entity.DAL.RepositoryUsers<User> UserDAL;
Entity.DAL.RepositoryUsers<Role> RoleDAL;
public ActionResult InsertUser(User user, int RoleId)
{
RoleDAL = new Entity.DAL.RepositoryUsers<Role>();
UserDAL = new Entity.DAL.RepositoryUsers<User>();
Role role = RoleDAL.FindById(RoleId);
user.Roles.Add(role);
UserDAL.Add(user);
return View(RoleDAL.FindAll().ToList());
}
我的UserDAL.Add方法为Roles表添加了一个新角色。但是,我想将新用户及其角色添加到UserRoles表中。我被问到我的代码有什么问题。我怎么能这样做?