C# 如何设置新用户的组?

C# 如何设置新用户的组?,c#,sql,wpf,entity-framework,C#,Sql,Wpf,Entity Framework,这似乎是一个简单的问题,但我想不出答案 我在数据库中有一个用户表和组表,如下所示: 正如你所看到的,它们都是相互联系的。“组”表包含以下条目: 管理员 支持 购买 出售 现在,我想使用Entity Framework添加一个新用户,其代码如下: private void AddUser() { using (var context = new AzubiTestEntities()) { var user = new Benutzer(); u

这似乎是一个简单的问题,但我想不出答案

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

正如你所看到的,它们都是相互联系的。“组”表包含以下条目:

  • 管理员
  • 支持
  • 购买
  • 出售
  • 现在,我想使用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();
        }
    }
    

    如何设置此用户的组?

    由于在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();
        }
    }
    
    详情如下: