EntitySQL - ссылка на объект не установлена ​​для экземпляра объекта - PullRequest
0 голосов
/ 02 октября 2009

Я получаю эту ошибку, когда пытаюсь вставить столбец с внешним ключом. Вот как я присваиваю значение

var at = MvcApplication1.Entity.alttitles.Createalttitles(0, altTitleText);
        at.question.question_id = questionid;   //Error here
        at.userinfo.user_userid = _AuthorID;    //Error here
        context.AddToalttitles(at);
        res = context.SaveChanges();

Когда я сделал question_id и идентификатор пользователя внешним ключом, у меня появилась эта ошибка Есть ли способ это исправить?

Ответы [ 2 ]

1 голос
/ 02 октября 2009

Скорее всего, «вопрос» является объектом, на который ссылаются, верно? Это , а не , включенные по умолчанию в ваш запрос - вам нужно либо включить их в свой первый запрос

var at = MvcApplication1.Entity.alttitles
              .Createalttitles(0, altTitleText)
              .Include("question");

Является ли «вопрос» свойством навигации 1: 1 или 1: n? В случае 1: n вы можете напрямую проверить свойство «question»:

if(!at.question.IsLoaded)
{
   at.question.Load();

   ....
}

В случае свойства навигации 1: 1 у вас, вероятно, также есть свойство QuestionReference:

if(!at.QuestionReference.IsLoaded)
{
   at.QuestionReference.Load();

   ....
}

Марк

0 голосов
/ 02 октября 2009

Проверьте, не равен ли значение null перед назначением его свойств?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...