EF6 Обновить внешний ключ после вставки данных из другой формы - PullRequest
0 голосов
/ 03 июня 2018

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

Таблица Проект :

ProjectID    CommentID

Таблица Комментарии :

CommentID   Date    Comment

Сначала я создаю Project и присваиваю CommentID a NULL значение, поскольку комментариев пока нет.Пока все хорошо.

Затем, в какой-то момент, мне нужно добавить комментарий к моему проекту.Я могу успешно добавлять комментарии, но не могу назначить CommentID в связанной таблице Project.

Вот как я пытаюсь это сделать (без успеха):

MyEntities ctx = new MyEntities();

tblComents coment = new tblComments()
        {
            Date = DateComent.Value,
            Comment = TxtComment.Text.Trim()
        };

ctx.tblComments.Add(comment);
var projet = new tblProject { tblComments = comment };
ctx.SaveChanges();

Таким образом, я создаю комментарий, но внешний ключ никогда не назначается в таблице Projects.

Любая помощь?

Спасибо

1 Ответ

0 голосов
/ 03 июня 2018

Вы добавляете комментарий к проекту new, который не имеет ничего общего с вашей базой данных:

  tblComents coment = new tblComents()
        {
            Date = DateComent.Value,
            Coment = TxtComent.Text.Trim()
        };
            tblProject project = ctx.tblProject(x=> x.Id == someid); // find the project you want
            if(project != null) project.tblComents.Add(coment);
ctx.SaveChanges();

Вы должны либо получить проект из своей базы данных (код выше), а затем добавить комментарийк этому проекту или добавить проект в базу данных, а не комментарий (код ниже):

  tblComents coment = new tblComents()
        {
            Date = DateComent.Value,
            Coment = TxtComent.Text.Trim()
        };
            tblProject project = new tblProject();
            ctx.tblProjects.Add(project);

            if(project != null) project.tblComents.Add(coment);
ctx.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...