Я пытаюсь добавить объект, созданный из классов Entity Data Model. У меня есть таблица с именем Users, которая превратилась в класс EDM пользователя. И у меня также есть таблица Pages, которая стала классом Page EDM. Эти таблицы имеют отношение внешнего ключа, поэтому каждая страница связана со многими пользователями. Теперь я хочу добавить страницу, но не могу понять, как это сделать. Я получаю исключение нулевой ссылки на пользователей ниже. Я все еще довольно смущен всем этим, так что я уверен, что это простая ошибка, но я просто не понимаю, как это сделать.
Кроме того, кстати, компилятор требует, чтобы я установил PageID в инициализаторе объекта, даже если это поле установлено как автоматический идентификатор в таблице. Я делаю это правильно, просто устанавливая его в 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;
}