我对实体框架中的关系有疑问
这是我的问题:
我有两个类:用户和组
- 一个组必须有一个所有者(用户)
- 一个组可以有0个或多个成员(用户)
- 一个用户可以是 0 个或多个组的所有者
用户.cs:
public class User
{
[Key]
public int userId { get; set; }
[Display(Name="Firstname")]
public string firstname { get; set; }
[Display(Name = "Lastname")]
public string lastname { get; set; }
[Display(Name = "Email")]
public string email { get; set; }
}
组.cs:
public class Group
{
[Key]
public int idGroup { get; set; }
public string name { get; set; }
public User owner { get; set; }
public List<User> members { get; set; }
public Group()
{
members = new List<User>();
}
}
这是插入组功能:
[HttpPost]
public ActionResult Create(Group group)
{
if (ModelState.IsValid)
{
group.owner = db.Users.Attach((User)Session["user"]);
//Current user stored in session and already presents in User table
db.Groups.Add(group);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
return View(group);
}
问题是 :
- 当我在插入函数中运行调试时,正确设置了“所有者”属性(在 db.savechanges 处)
- 但是之后,当我在 db (Group group = db.Groups.Find(id);) 中选择一个组时,“所有者”参数为空。
任何帮助将非常感激。
非常感谢