|
|
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Дано: Две таблицы: Order - Details На форме (vb.net) два DataGridView Данные загружаются командой: Код: plaintext 1. Добавление новых строк, редактирование и удаление из основной таблицы проходит на ура. (Т.е. каскадное удаление работает) Редактирование и добавление в details тоже работает. Но удаление из details при последующем сохранении генерирует ошибку: Код: plaintext 1. 2. Вопрос: как лечить и куда смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2009, 09:33 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Вы с LINQ to SQL работаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2009, 17:28 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Entity Framework ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 12:42 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Сам спросил - сам и отвечу. Вдруг кому пригодится: 1. В разделе: <!-- CSDL content --> надо на связь установить каскадное удаление. Примерно так: Код: plaintext 1. 2. 3. 4. 2. В DataGridView на обработчик события DeletingRow вписать чтото вроде: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2009, 08:25 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Дмитрий16, Думаю более правильнее "создавать каскадное удаление" в базе данных, а не в "Разделе...", т.к. я сомниваюсь что ЕФ за всеми связанными сущностями уследит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2009, 15:01 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
_Thor_, Там все гораздо хитрее. В базе то каскадное само собой везде используется. А вот каскадное в моделе тоже нужно но с огромными оговорками. Тут самое главное - это то, что в модель могут быть загружены не все дочерние записи и при попытке удалить если полагаться только на каскадное удаление EF то можно получить ошибку. P.S. кстати. я почему то думал, что если указать в моделе каскадное удаление, то вместо явного удаления всех дочерних записей EF поймет, что достаточно удалить только одну родительску запись. Так вот так не получается... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. После команды DeleteObject(o) при записи изменений в базу проходит сперва два удаления для дочерних записей, затем одно для родительской. Вывод. EF как-то вяло использует информацию о наличии в базе каскадных удалений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 13:29 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
А он её вообще не использует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 07:34 |
|
||
|
Удаление из подчиненной таблицы вызывает ошибку сохранения???
|
|||
|---|---|---|---|
|
#18+
Дмитрий16, Мда, странное поведение ЕФ в приведённом вами примере. Интересно, чем бы дядя Бил аргументировал такой факт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 16:25 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36097790&tid=1351729]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 490ms |

| 0 / 0 |
