Entity Framework DBContext Проблемы с привязкой данных - PullRequest
2 голосов
/ 19 декабря 2011

Использование VS2010, C #, Winforms и Entity Framework 4.1

Вот мой код

var order = dbContext.Orders.Where(o=>o.OrderId == 1).Single();
var orderDetails = order.OrderDetails.ToList():

textBox1.Bindings.Add("Text", order, "OrderAmount");
gridView.DataSource = orderDetails;

У меня есть два вопроса о Entity Framework 4.1

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

  2. Я хочу добавить логику в установщик свойств объекта; но он переписывается при каждом обновлении модели.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 января 2012

используйте изменение свойства on внутри привязки данных

textBox1.DataBindings.Add ("Текст", order, "OrderAmount", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);

0 голосов
/ 19 декабря 2011

По поводу второго вопроса.
Автоматическое обновление классов - так работает модель.
Для получения дополнительной информации вы можете прочитать EF 4.1, сначала код, в сравнении с моделью / базой данных .

Иногда удобно изменить шаблон T4 . Но я не рекомендую менять геттеры / сеттеры. Вместо этого может быть полезно добавить некоторые атрибуты dataannotations. Вы можете прочитать, как использовать его в MSDN:
Использование аннотаций данных для настройки классов данных
Как проверить данные модели с помощью атрибутов аннотаций данных

...