Csharp/C#教程:在Entity Framework和WPF UI中显示计算属性分享


在Entity Framework和WPF UI中显示计算属性

我的EF数据模型中有一个下载实体。 它的两个属性Size和BytesDownloaded计算得到我在partial类中创建的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 UI中,我有:

        

由于Progress不是实体模型(edmx)的一部分,因此我必须通知UI它应该更新ProgressBar。 我以为我可以这样做:

 partial void OnBytesDownloadedChanging(long value) { ReportPropertyChanging("Progress"); } partial void OnBytesDownloadedChanged() { ReportPropertyChanged("Progress"); } 

这编译很好,但是当我运行应用程序并调用OnBytesDownloadedChanging / Changed时,我在调用ReportPropertyChanging / Changed时遇到此exception:

属性“Progress”在实体对象上没有有效的实体映射。 有关更多信息,请参阅Entity Framework文档。

我理解错误信息的内容,但我不明白我能做些什么才能真正实现我的目标。

PS – 他们甚至指的是哪些具体的“文档”? 叹! 如果他们要暗示有这个错误的文档,他们为什么不把我链接到文档而不是告诉我[无意义]尝试找到它?

使用OnPropertyChanged/Changing而不是ReportPropertyChanged/ChangingOn*方法仅引发事件,而Report*方法还将属性标记为已更改以进行更改跟踪。

上述就是C#学习教程:在Entity Framework和WPF UI中显示计算属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1009346.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐