我有一个问题,在实体框架实体框架的关系
这里的关系是我的问题:
我有两类:用户和组
- 组必须有一个所有者(用户)
- 一个组可以有0或几个成员(用户)
- 用户可以是0或几个组的所有者
User.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; }
}
Group.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 );),“所有者”参数为空。
任何帮助将非常感激。
非常感谢
是否使用EF代码第一次?或者你在使用EF设计师吗? – deerchao