Я привязываю список к представлению сетки данных, и все изменения сохраняются в базе данных, как и ожидалось.
Единственная проблема, с которой я столкнулся, — это добавление новой строки. Я понял, что не могу сделать это с помощью List, но, похоже, работает с BindingList.
Однако в этом случае изменения вносятся только в существующие строки сохраняются в базе данных. Новая строка не сохраняется.
Кто-нибудь может подсказать, что я делаю не так?
Код: Выделить всё
List
p_list = context.Products
.Where (p => p.Price > 5)
.OrderBy (p=> p.Name).ThenBy(p => p.Id)
.ToList();
var p_list_binding = new BindingList (p_list);
// this doesn't allow adding a new row
// dataGridView1.DataSource = p_list;
dataGridView1.DataSource = p_list_binding;
На экране ниже показан случай использования p_list в качестве источника данных. У меня нет этой ошибки при использовании p_list_buinding.

Подробнее здесь: https://stackoverflow.com/questions/791 ... entity-fra