Как вставить данные для составного объекта? - PullRequest
2 голосов
/ 05 августа 2011

Предположим, у меня есть столик Персона, студент:

Person (id, ....): id - это первичный ключ и столбец идентификаторов.

Student (id, .....): id - это первичный ключ, а внешний ключ подключается к человеку-> ID

В метаданных службы ria установите Student как составную часть Person:

[Include]
[Composition]
public Student Student { get; set; }

тогда я хочу вставить новые данные ученика. что я сделал, это что-то вроде:

Person p = new person(){....};

p.Student = new Student{....};

_context.People.AddObject(p);
_context.SaveChanges();

тогда я получил ошибку:

System.Data.UpdateException: при обновлении записей произошла ошибка. Смотрите внутреннее исключение для деталей. ---> System.Data.SqlClient.SqlException: оператор INSERT конфликтовал с ограничением FOREIGN KEY "FK_Student_Person". Конфликт произошел в базе данных «MyDB», таблице «dbo.Person», столбце «id». Заявление было прекращено.

Как решить эту проблему?

...