Конфликты ограничений внешнего ключа LINQ to SQL - PullRequest
0 голосов
/ 12 мая 2010

У меня проблема с LINQ.

У меня есть 2 таблицы (отношение родитель-ребенок)

Table1: Events (EventID, Description)
Table2: Groups (GroupID, EventID(FK), Description)

Теперь я хочу создать событие и ребенка.

Event e = new Event();
e.Description = "test";
Datacontext.Events.InsertOnSubmit(event)

Group g = new Group();
g.Description = "test2";
g.EventID = e.EventID;
Datacontext.Groups.InsertOnSubmit(g);

Datacontext.SubmitChanges();

Когда я отлаживаю, я вижу это после вставки события. EventID получил новое значение (автоинкремент).

Но когда Datacontext.SubmitChanges (); вызывается. Я получаю следующее исключение

 "The INSERT statement conflicted with the FOREIGN KEY constraint ...

Я знаю, что это можно решить, создав в диаграмме LINQ связь между событиями и группами. А затем настройка самого объекта. Но я не хочу загружать события каждый раз, когда спрашиваю список групп.

Все, что мне нужно, это то, что при вставке группы происходит сбой, вставка события не будет зафиксирована в базе данных.

Извините, если это немного неясно, мой английский не очень хорош.

1 Ответ

0 голосов
/ 12 мая 2010

Создание отношения не означает, что вам нужно загружать события для групп - вы все равно можете запрашивать группы как обычно.

...