实体框架通用插入函数与多对多关系

时间:2015-04-16 17:47:34

标签: c# entity-framework generics

我有一个类似下面的通用方法

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表中。我被问到我的代码有什么问题。我怎么能这样做?

0 个答案:

没有答案