|
EF6 некорректная вставка записи
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Подскажите не могу разобраться в чем проблема. Есть функция: Код: c# 1. 2. 3. 4. 5. 6. 7.
Добавляем с ее помощью запись: Код: c# 1. 2. 3. 4. 5. 6. 7.
District добавляется, но сначала добавляется Region и District привязывается к этому добавленному региону ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2016, 23:09 |
|
EF6 некорректная вставка записи
|
|||
---|---|---|---|
#18+
Александр_1984, проблема в реализации репозитория. все преимущества EF сведены практически к нулю. зачем Insert каждый раз создаёт контекст? зачем это шаманство с Entity.State? естественно, что запись Region из чужого контекста добавляется ещё раз, новый созданный контекст в функции Insert ничего не знает о других объектах. работайте с одним единым контекстом, избегайте костылей с ручной установкой State. не надо создавать контекст на каждый чих! контекст обычно создаётся на транзакцию, в рамках которой происходит вся работа, и может быть извлечено, создано и изменено много записей. закончили работу, сделали SaveChanges -- уничтожили контекст, и никаких ошмётков не осталось. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2016, 00:10 |
|
EF6 некорректная вставка записи
|
|||
---|---|---|---|
#18+
hVostt, Спасибо за подсказку, я подозревал что контекст тут лишний )) не пойму как ставить state не вручную? откуда его взять можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2016, 22:23 |
|
EF6 некорректная вставка записи
|
|||
---|---|---|---|
#18+
Александр_1984не пойму как ставить state не вручную? откуда его взять можно? Контекст сам различает новые и изменённые записи. Установка вручную требуется для переопределения работы контекста и её следует избегать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2016, 00:45 |
|
|
start [/forum/topic.php?fid=17&fpage=9&tid=1349343]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 143ms |
0 / 0 |