这似乎是一个简单的问题,但我无法找到答案。
我在数据库中有一个用户表和组表,如下所示:
正如您所看到的,它们彼此相关。 groups表包含以下条目:
现在,我想使用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();
}
}
如何设置此用户的组?
答案 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();
}
}