我正在尝试添加从实体数据模型类创建的对象。我有一个名为Users的表,它已变成User EDM类。而且我还有一个表格页面,它已成为Page EDM课程。这些表具有外键关系,因此每个页面都与许多用户相关联。现在我希望能够添加页面,但我无法理解如何做到这一点。我在下面的用户上获得了nullreference异常。我仍然对这一切感到困惑,所以我确定这是一个简单的错误,但我只是看不出怎么做。
另外,顺便说一句,编译器要求我在对象初始化程序中设置PageID,即使该字段在表中设置为自动id。我这样做只是将它设置为0,期望它在保存时自动在表格中更新,或者我应该怎么做?
任何帮助表示赞赏!
有问题的方法:
private Page GetPage(User currentUser)
{
string url = _request.ServerVariables["url"].ToLower();
var userPages = from p in _context.PageSet
where p.Users.UserID == currentUser.UserID
select p;
var existingPage = userPages.FirstOrDefault(e => e.Url == url);
if (existingPage != null)
return existingPage;
Page page = new Page()
{
Count = 0,
Url = _request.ServerVariables["url"].ToLower(),
PageID = 0, //Only initial value, changed later?
};
_context.AddToPageSet(page);
page.Users.UserID = currentUser.UserID; //Here's the problem...
return page;
}
答案 0 :(得分:1)
尝试:
page.Users = _context.Users.First(u => u.UserId == currentUser.UserID);
关于这个:
另外,顺便说一句,编译器要求我在对象初始值设定项中设置PageID
那不应该是真的。什么是确切的错误消息?另外,ID的类型是什么?