实体框架(6.x),计算列和INotify

时间:2014-04-16 17:46:35

标签: entity-framework

我正在使用实体框架的第一个实施,我遇到了需要计算列以及与视图交互的问题......

情景:

用户拥有FirstName和LastName。在列表框中,我想使用从FirstName和LastName生成的显示名称。一般来说,足够简单。问题来自于编辑名字或姓氏的时间。我使用INotifyPropertyChanged扩展了我的实体,并在T4模板中实现了它。我扩展了User实体以创建DisplayName属性。在视图中,我使用基于DisplayName的CollectionViewSouorce。

当编辑用户的名称时会出现此问题,但由于对FirstName或LastName而不是DisplayName进行了更改,因此不会发生通知。因此,CollectionViewSource永远不会获得DisplayName的更改通知。

我可以手动将OnPropertyChanged(" DisplayName")添加到FirstName和LastName属性中的User实体,但是下次我从DB更新模型时会覆盖它。

关于如何使这项工作的任何想法?

感谢。

Ĵ

2 个答案:

答案 0 :(得分:0)

我会选择以下选项之一:

答案 1 :(得分:0)

记录......

我使用了部分类扩展,并且每当组成属性被更改并保存时,只是以编程方式触发DisplayName的OnPropertyChanged。