WCF RIA Service下的Entity和ComplexObject的一点区别(微软不厚道)

1)对于Entity的支持相对来说比较好,自动生成的实体如果以Entity为基类,可以挂接属性改变事件,这个非常有用,但如果生成的实体以ComplexObject为基类,则没有这个好处;

2)ComplextObject对于服务端得实体要求不是很严,不像要生成Entity为基类的实体那样,不能在字典中含有实体,字典中的类型只能是基本类型;

3)在服务中如果要暴露以Entity为基类的实体,必须有一个不带Invoke的标签的查询方法,否则,系统会将暴露该实体集合的方法之一看成是这样的方面,如果你的实体中有其它的实体,会报编译错误。(很是奇怪的规则,都被我测出来了)

3)要生成以Entity为基类的实体,必须有Key标签的属性。

微软无时不刻在想人们用他们的AEF,因为Entity为基类的和AEF配合相当的好,微软有一套处理方法。其实ComplexObject也实现了INotifyPropertyChanged接口,但我很奇怪,为什么微软要将CoplexObject的PropertyChanged属性变为保护的呢?微软不厚道的说。

实体的PropertyChanged这个事件其实很有用处的,如果有这事件,很多UI的事件处理就可以转换成对这个事件的处理(比如连动逻辑),更有利于MVVM模式的封装与应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值