|
|
|
Удаление записи в БД через DataGrid
|
|||
|---|---|---|---|
|
#18+
Есть DataGrid в WPF-проекте, которая заполняется данными из БД. При клике правой клавиши мыши на записи(строке) появляется контекстное меню и выбирается команда "Удалить". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Additional information: В набор AssociationSet "FK_Examinations_Patients" добавляется связь или связь удаляется из этого набора. При наличии ограничений на количество элементов необходимо также добавить или удалить соответствующий "Examination"." Вот изображение модели: Как я понимаю, это происходит из-за ассоциативных связей между таблицами. Ради эксперимента удалял аналогичным способом записи из таблицы без всяких связей. Все работает отлично. Каким образом можно удалить запись из БД из связанных таблиц? Ничего толкового не нашел ни в инете, ни в книгах. Везде все обо всем и ни о чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 21:15 |
|
||
|
Удаление записи в БД через DataGrid
|
|||
|---|---|---|---|
|
#18+
Ап, никто не сталкивался с таким? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 18:47 |
|
||
|
Удаление записи в БД через DataGrid
|
|||
|---|---|---|---|
|
#18+
TL123, Осмелюсь предположить, что у тебя в таблице Examination есть внешний ключ Patient, а при удалении записи из таблицы Patients происходит нарушение целостности БД. Попробуй сначала удалять записи, относящиеся к Patient из таблицы Examination, а потом уже удалять запись из таблицы Patient. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 18:13 |
|
||
|
Удаление записи в БД через DataGrid
|
|||
|---|---|---|---|
|
#18+
simply_sash, "Осмелюсь предположить, что" на форум стыдно выходить с подобными (тривиальными) вопросами :) TL123, либо включить каскадное удаление (если это позволяет "System.Data.Entity.dll"), либо как сказал simply_sash (если что-то непонятно - сначала rtfm - затем на форум) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 22:05 |
|
||
|
Удаление записи в БД через DataGrid
|
|||
|---|---|---|---|
|
#18+
Спасибо за подсказки. Сделал следующим образом(может кому пригодится): Открыл БД в Microsoft SQL Server Management Studio. Зашел в Таблицы . Выбирал нужную мне таблицу, заходил в Ключи , дважды кликал на ключах, начинающихся с FK_. В появившемся окне раскрывал Спецификация INSERT и UPDATE и выставлял в Правило удаление параметр Каскадно . Затем сохранил все изменения в базе и закрыл Microsoft SQL Server Management Studio. Далее, в студии открыл свою edm-модель. Клик правой кнопкой мыши на любом месте модели(кроме граф. отображения таблиц и связей), выбрал Update Model From DataBase (next->next->finish). Сохраним обновленную модель. Далее открываем модель через Open With... -> Xml Editor. Видим, что в секции <!-- SSDL content --> в Association добавилось правило OnDelete с ключом каскадного удаления: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext Код: plaintext Сохраните, билд и вот оно счастье: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 19:54 |
|
||
|
|

start [/forum/topic.php?fid=17&gotonew=1&tid=1351015]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 408ms |

| 0 / 0 |
