пытается обновить таблицу категорий с сущностями - PullRequest
0 голосов
/ 26 августа 2011

У меня есть сетка данных и у меня есть два текстовых поля, когда я щелкаю по строке сетки данных, соответствующие значения строки заполняются в текстовых полях ......

до этого нормально работало ....

Я хочу обновить таблицу категорий, когда нажимаю на кнопку сохранения

У меня есть таблица категорий с

                              category_id
                              category_name
                              category_description

, и это мой код:

                 private void btnSave_Click(object sender, EventArgs e)
                 {

                      if(dgvCategories.SelectedRows.Count >0)
                      {
                     int updatecategoryid = Convert.ToInt32(dgvCategories.SelectedRows[0].Cells[0].Value);
                     category categoryupdate = new category() { category_Id = updatecategoryid };
                     categoryupdate.category_Name = tbCategoryName.Text;
                     categoryupdate.category_Description = tbCategoryDescription.Text;
                     dbcontext.SaveChanges();
                     }

                }

он не обновляет таблицу категорий .....

может кто-нибудь помочь в этом .....

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Ваш dbcontext не может знать, что вы что-то обновляете.Поскольку вы упомянули «обновление» таблицы, вот один из способов обновления таблицы ваших категорий.

Обновление:

var category = dbcontext.Categories.Where(c => c.category_id.Equals(catId)).Single();
if (category != null)
{
    category.category_name = tbCategoryName.Text;
    category.category_description = tbCategoryDescription.Text;
}
dbcontext.SaveChanges();

Теперь, если вы хотите вставить таблицу ваших категорий ...

Вставка:

category c = new category();
c.category_name = tbCategoryName.Text;
c.category_description = tbCategoryDescription.Text;
dbcontext.Categories.AddObject(c);
dbcontext.SaveChanges();
return c.category_id; //(optional) if you want the unique id to be returned
0 голосов
/ 26 августа 2011

Ваш dbcontext не может знать, что вы создали category объект, если вы не скажете его.

                 category categoryupdate = new category() { category_Id = updatecategoryid };
                 dbcontext.Attach(categoryupdate);
                 categoryupdate.category_Name = tbCategoryName.Text;
                 categoryupdate.category_Description = tbCategoryDescription.Text;
                 dbcontext.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...