![]() |
|
Модераторы: gambit |
![]()
|
|
| andrew8712 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.4.2009 Репутация: нет Всего: нет |
Есть форма с dataGridView. В dataGridView загружаются данные из 3 таблиц:
. Выглядит этот грид вот так: ![]() Теперь я собираюсь внести изменения одной строки в базу данных. Данные берутся из специальных полей редактирования (3 текстбокса, 2 комбобокса), но это не суть важно. Изменения пытаюсь внести следующим кодом:
На строчке s.Groups.C_Code = "22-06" выскакивает ошибка: "В экземпляре объекта не задана ссылка на объект." |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
andrew8712, и хорошо, что ругается. Представьте, что бы было, если бы он грузил все-все-все связанные объекты! Нужно явно указать prefetching (eager loading).
Я так понял, мы о Linq To Sql говорим? Там это делается при помощи DataLoadOptions: http://www.davidhayden.com/blog/dave/archi...erformance.aspx |
|||
|
||||
| andrew8172 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
LINQ To Entities.
По сути, мне не нужно поле связанной таблицы. Мне надо в таблице Students изменить значение поля N_Group, которое, в свою очередь, связано с полем GroupID |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
andrew8172, в следующий раз указывайте сразу.
В Linq to Entities для этого нужно воспользоваться методом Include:
|
|||
|
||||
| andrew8712 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.4.2009 Репутация: нет Всего: нет |
Делаю s.Groups.C_Code = "11-07" - меняется значение поля C_Code в Groups. Как заменить значение поля N_Group в Students на значение поля GroupID в Groups, где C_Code в Groups = "11-07"?
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
andrew8712, для начала переименуйте названия навигационных свойств в соответствии с множественностью: так, если у Вас для студента может быть одна группа, стоит назвать навигационное свойство Group, а не Groups. Лично мне написание запросов, в которых свойства не отражают множественность, и приходится постоянно подглядывать в схему, взрывает мозг.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |