如何设置新用户组?

时间:2015-06-10 14:24:24

标签: c# sql wpf entity-framework

这似乎是一个简单的问题,但我无法找到答案。

我在数据库中有一个用户表和组表,如下所示:

enter image description here

正如您所看到的,它们彼此相关。 groups表包含以下条目:

  1. 管理员
  2. 支持
  3. 采购
  4. 产品
  5. 现在,我想使用Entity Framework添加具有以下代码的新用户:

    private void AddUser()
    {
        using (var context = new AzubiTestEntities())
        {
            var user = new Benutzer();
    
            user.Name = Username;
            user.Passwort = GenerateHashPassword();
    
            user.Gruppen = ???
    
            user.Anlegedatum = DateTime.Now;
            user.Loeschdatum = null;
            user.ErstellerID = 1;
    
            context.Benutzer.Add(user);
    
            context.SaveChanges();
        }
    }
    

    如何设置此用户的组?

1 个答案:

答案 0 :(得分:2)

由于您在Benutzer表中错过了像gruppenID这样的直接一对多外键,我假设您正在使用多对多中间表。

在这种情况下(您不会看到中间外键),您必须从数据库中获取该组并将其分配给user.Gruppen属性。

private void AddUser()
{
    using (var context = new AzubiTestEntities())
    {
        var user = new Benutzer();
        var gruppen = context.Gruppen.First(x => x.GruppenID == [group id]);

        user.Name = Username;
        user.Passwort = GenerateHashPassword();

        user.Gruppen = gruppen;

        user.Anlegedatum = DateTime.Now;
        user.Loeschdatum = null;
        user.ErstellerID = 1;

        context.Benutzer.Add(user);

        context.SaveChanges();
    }
}

此处有更多详情:https://msdn.microsoft.com/en-us/data/jj713564.aspx