Я пытаюсь найти эффективный способ привязки данных к вычисляемым полям модели Entity Framework в winforms. Я использую Visual Studio 2008 и .NET Framework 3.5. Примером может служить EntityX, скажем, у меня есть columnA и columnB, и я хочу вычисляемое свойство с именем sumAB. То, как я это делал, было с частичными классами:
public partial class EntityX
{
public int sumAB
{
get
{
return this.columnA + this.columnB;
}
}
}
Затем я использую Visual Studio для добавления EntityX в качестве источника данных, чтобы я мог использовать автоматическое перетаскивание данных. У меня проблема в том, что вычисленные свойства не отображаются в полях источника данных. Я ищу способ автоматического связывания данных для вычисляемых полей.
Я знаю, что мог бы сделать это вручную, но тогда мне пришлось бы также вручную написать весь код привязки, чтобы обновить поле при изменении columnA или columnB. У меня также нет доступа для вычисления этого поля на стороне сервера SQL.
Кто-нибудь знает какие-либо способы выполнения этого или каких-либо других аналогичных направлений для продолжения?
Спасибо!
UPDATE
Я проверил это на другом компьютере, используя Visual Studio 2010 и .NET 4, и все еще получаю такое же поведение. Интересно, что я могу вручную создать текстовое поле и добавить привязку данных, и она будет работать нормально, как показано ниже:
sumABTextBox.DataBindings.Add(
new System.Windows.Forms.Binding("Text", EntityXBindingSource, "sumAB", true));
Это также сработало, если я поместил свойство в файл .edmx, но это нежелательно, поскольку оно будет стираться при каждом обновлении базы данных.
Есть еще идеи?
ОБНОВЛЕНИЕ 2
Все еще нет решения ... Мне пришлось использовать альтернативы в моем коде, чтобы уложиться в сроки. Я все еще очень заинтересован в этом, если кто-нибудь найдет ответ ...