Как назначить контекст и обновить его в Entity Framework? - PullRequest
1 голос
/ 03 ноября 2011

Я создал новый объект сущности и привязал его к элементам управления в другом окне (окно редактирования). После изменения и сохранения я назначил новый объект сущности в один в главном окне. Старый объект сущности привязан к сетке данных, теперь я хочу, чтобы сетка данных отображала данные, которые я изменил и сохранил.

Метод ObjectContext.Refresh (RefreshMode, Object) , кажется, то, что я хочу, но я не знаю, как правильно его использовать.

Короче говоря:
У меня есть главное окно с сеткой данных, отображающее все данные таблицы. Пользователи могут выбрать одну строку и редактировать ее в окне редактирования. После сохранения в таблице данных должно отображаться то, что было изменено.

1 Ответ

1 голос
/ 03 ноября 2011

Лучше всего использовать ObservableCollection в качестве источника данных для сетки данных вместо запроса.

И посмотрите на реализацию INotifyPropertyChanged интерфейса в вашем Customer классе.

ObservableCollection изначально заполняется запросом базы данных. Пользовательские изменения вносятся в элементы в пределах ObservableCollection, и после их завершения вам просто нужно инициировать передачу изменений туда, где вы изначально получили свой список Customer объектов

После этого изменения, внесенные как в коллекцию клиентов, так и в отдельные объекты клиентов (если они присутствуют в сетке данных), будут автоматически обновляться для вас.

редактировать

Я должен признать, что я немного спешу предложить какой-либо код в данный момент, но вот довольно хорошая статья, которая объясняет, как использовать ObservableCollections и классы, которые реализуют INotifyPropertyChanged. В нем также есть примеры кода, которые, хотя в VB.NET должны дать вам достаточно идей для начала работы.

Фактически вы разделяете код на отдельные уровни пользовательского интерфейса (представление), бизнес-логики (модель представления) и уровень данных (модель, в которой находится ваша структура сущностей).

Вы связываете свою сетку данных со свойством типа ObservableCollection в своем классе Customers, и ваше окно редактирования клиентского элемента привязывается как экземпляр вашего класса Customer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...