Задать вопрос
@Senture

Добавил новое поле в таблицу но изменить его значение не могу, что делать?

Доброго времени суток!
У меня следующая ситуация:
Есть приложение для работы с БД ( и приложение и БД не мои, так что в их структуре пока плохо разбираюсь ), необходимо добавить в одну из таблиц новое поле, добавил его через SQL Management studio, далее открыл проект, зашел в модель БД (файл с расширением .edmx) кликнул ПКМ по пустому месту и нажал кнопку "Обновить модель из БД"
5dda649eba354625793424.png
Выбрал необходимую мне таблицу в вкладке "Обновить" и нажал кнопку "Готово".

После попытался считать данные этого поля со всех записей следующим образом:
using (TestContext db = new TestContext ())
            {
                var ps = db.Project_test.ToList();
                foreach (Project_test p in ps)
                {
                    MessageBox.Show(p.TypeContract);
                }
            }


Все ок, но перед этим добавил данные в несколько записей вручную через SQL Management studio. После попытался изменить значение этого поля для всех записей следующим образом:
using (TestContext db = new TestContext ())
            {
                var ps = db.Project_test.ToList();
                foreach (Project_test p in ps)
                {
                    p.TypeContract = "test_value";
                }
                db.SaveChanges();
            }

Но значения не изменяются, а если я попробую таким же образом изменить поле которое добавлял не я, то все ок.

Что не так делаю? Подскажите пожалуйста!

P.S. Все огромное спасибо за все!!!!
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@CHolfield
вместо цикла воспользуйся такой шнягой:
using (TestContext db = new TestContext ())
            {
               var ps = db.Project_test;
               ps.ForEach(a=>a.TypeContract ="test_value");
               db.SaveChanges();
            }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы