Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновить базу данных из dataGridView / 7 сообщений из 7, страница 1 из 1
06.10.2014, 20:33
    #38768417
alex171069
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
Доброго времени суток!
Есть потребность обновить записи в базе данных из грида !

вот такой простой код :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
     private void Form1_Load(object sender, EventArgs e)
        {
          context = new autotestEntities();
         
          ObjectQuery<MarkaSet> MarkaObj = context.MarkaSet;
          ObjectQuery<TSSet> TSObj = context.TSSet; 
         
         

          var q1 = from Mark in MarkaObj
                   from TS in TSObj
                   where TS.Marka_Id == Mark.Id
                                     select new { TS.RegNumber, Mark.MarkaName };

         
          dataGridView1.DataSource = q1.ToList();
                                         
        
        }

       
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {

                context.SaveChanges();
            }
            catch(Exception x)
            {
               MessageBox.Show(x.Message);
            }
            
        }
    }


Все необходимое содержимое таблиц выводится в грид но как заставить обновить записи в базе данных - увы непонятно ....
...
Рейтинг: 0 / 0
07.10.2014, 18:22
    #38769542
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
alex171069,


что то ты не то замутил. это q1.ToList(); зря вроде кажется. Тут по моему BindingList использовать нужно

вдруг поможет
...
Рейтинг: 0 / 0
14.10.2014, 10:12
    #38775887
alex171069
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
Andrey1306, Простите но никаких BindingList там в помине нет!
А без q1.ToList() вообще ничего не выводится.
Схема с Одной таблицей срабатывает на ура - все обновляется, как только я начинаю использовать запросы из нескольких таблиц ни о каком обновлении уже ни может быть и речи .
Так что EF можно работать только с каждой таблицей в отдельности ?
Тогда это очень недоработанная технология.
...
Рейтинг: 0 / 0
14.10.2014, 15:21
    #38776313
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
alex171069,

Может кто то более опытный , что то другое подскажет. но по моему вы совсем не то творите. 2 поля с разных таблиц выбрали в анонимный тип. Присвоили полученное как источник данных к dgv и ждете изменений в базе .....
...
Рейтинг: 0 / 0
22.10.2014, 20:08
    #38784602
alex171069
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
И чего же я там такого творю ?! Разве на практике не может быть, что данные из нескольких таблиц нужно засунуть в один Grid ? Спросите своих коллег .... Да сплошь и рядом как говорится !
И в этом случае, что прикажите делать ? Опять к sqlDataAdapter -у спускаться ?
...
Рейтинг: 0 / 0
22.10.2014, 21:53
    #38784673
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
alex171069,

как правильно отметил Andrey1306, обновление через анонимный тип работать не будет. ORM уже не сможет отслеживать состояние.

Нужно привязать датагрид к одному источнику данных, а отдельную колонку(и) - к другому источнику. Тогда обновление будет работать.
...
Рейтинг: 0 / 0
23.10.2014, 07:50
    #38784848
alex171069
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновить базу данных из dataGridView
petalvikalex171069,

Нужно привязать датагрид к одному источнику данных, а отдельную колонку(и) - к другому источнику. Тогда обновление будет работать.

Простите не понял, DataGrid к одному источнику а отдельные его колонки к другому ?
Очень интересно - это как, научите....
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновить базу данных из dataGridView / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]