Mam listę entities
wiązanie z widoku siatki danych w ten sposób:Jak listę zmodyfikowanych obiektów dostać w Entity Framework 5
var orders = context.Order.ToList();
BindingList<Order> orderList = new BindingList<Order>(orders);
dataGridView1.DataSource = orderList;
Użytkownik może edytować lub dodać nowy bezpośrednio na DataGridView. Kiedy użytkownik kliknie przycisk Save
, w celu optymalizacji wydajności, chcę pobrać listę jednostek, które zostały zmienione/nowe, aby wykonać wstawianie/aktualizację. Jak mogę to osiągnąć?
EDIT zdefiniować dodać nowy wiersz gridview:
BindinList<Order> orders = (BindingList<Order>)dataGridView1.Datasource;
order.Add(new Order());
edit 2 rozwiązać:
BindinList<Order> orders = (BindingList<Order>)dataGridView1.Datasource;
Order order = new Order();
context.Order.Add(order);
order.Add(order);
Dziękujemy za szybką odpowiedź. Twój kod może uzyskać listę zmodyfikowanych jednostek, ale nie może uzyskać listy nowych podmiotów. Dostarczam kod, który służy do dodawania nowych podmiotów. Czy możesz mi pomóc dowiedzieć się? –
@DoanCuong, zobacz dodatkową odpowiedź. –
Przepraszam, ale czy mógłbyś mi pokazać, jak zaimplementować 'BindingSource.Add()' lub 'IBingdingList.Add()'? I jeszcze jedno, nie ma funkcji 'ToBindingList()' w 'dbset.local'. Jedynym sposobem na to jest użycie zmiennej var bindingList = new BindingList (context.Orders.Local.ToList()); ' –