У меня есть объект загрузки в моей модели данных EF. Два его свойства, Size и BytesDownloaded, вычисляются, чтобы дать мне свойство Progress, которое я создал в частичном классе:
partial class Download
{
public int Progress
{
get
{
if (!Size.HasValue || Size.Value == 0) return 0;
return Convert.ToInt32(Math.Floor(100.0 * ((double)BytesDownloaded / (double)Size)));
}
}
}
В моем пользовательском интерфейсе WPF у меня есть:
<DataGridTemplateColumn x:Name="progressColumn" Header="Progress" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ProgressBar Value="{Binding Path=Progress, Mode=OneWay}" Maximum="100" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Поскольку Progress не является частью Entity Model (edmx), я должен уведомить пользовательский интерфейс о том, что он должен обновить ProgressBar. Я думал, что могу сделать это так:
partial void OnBytesDownloadedChanging(long value)
{
ReportPropertyChanging("Progress");
}
partial void OnBytesDownloadedChanged()
{
ReportPropertyChanged("Progress");
}
Это компилируется нормально, но когда я запускаю приложение и вызывается OnBytesDownloadedChanging/Changed, я получаю это исключение при вызове ReportPropertyChanging/Changed:
Свойство «Ход выполнения» не имеет действительного сопоставления сущности с объектом сущности. Дополнительные сведения см. в документации по Entity Framework.
Я понимаю, о чем говорится в сообщении об ошибке, но я не понимаю, что я могу сделать, чтобы на самом деле достичь своей цели.
PS - О какой конкретной "документации" они вообще говорят? Вздох! Если они собираются подразумевать, что для этой ошибки есть документация, почему бы им просто не дать мне ссылку на документацию вместо того, чтобы предложить мне [бессмысленно] попытаться найти ее?