在我们的Smartclient应用程序中,我们目前使用PostSharp将get / set代码注入自动属性,以实现Dirty状态跟踪和INotifyPropertyChanged事件。
我们经常将这些业务对象与LinqToSql一起使用。我们想要删除对Postsharp的这种依赖,而.Net 4.0 ExpandoObject看起来很完美。我们可以添加动态属性并添加自定义get / set代码,而无需在HasChanged()实现的每个属性上重复它。
我的问题是这个;我们如何从LinqToSql获取动态ExpandoObject的实例?它有可能吗?
如果没有,还有其他方法可以实现吗?我们基本上都有业务对象,每个业务对象有50-100个属性,并且需要实现INotifyPropertyChanged而不需要数百行重复代码
答案 0 :(得分:0)
现在看来有三种方法可以解决这个问题
Postsharp对我们来说似乎是一个很好的方法,因为我们使用defaukt构造函数获得了所需的行为,并且不必担心生成的代码的维护。我们只是向POCO实体添加一个属性而忘记它。