【发布时间】:2014-01-11 11:33:39
【问题描述】:
我当前的解决方案具有以下设置:
- 带有我的模型的可移植类库
- 具有处理所有数据库流量的存储库的类库
- 使用模型引用可移植类库
- WPF 项目
- 引用模型和存储库
- Windows 应用商店应用
- 使用模型引用可移植类库
- ASP MVC 网站
- 引用模型和存储库
在我不得不将数据验证添加到 WPF 项目之前,此设置对我来说一直运行良好。我必须在模型上使用 IDataErrorInfo。由于可移植类库不支持 IDataErrorInfo,所以我有点卡住了。
我尝试为我的可移植类库中的每个模型类添加一个同名的新模型类到我的 WPF 项目中,并从我的库中的类继承。然后我可以在子类中添加所有验证代码。问题当然是我的 WPF 项目将类库与我的存储库一起使用,它返回我的模型基类的实例(来自可移植类库)。在我的 WPF 项目中强制转换模型类的每一次出现似乎都不是可行的方法..
所以我的问题是:我可以让存储库类库根据它所使用的项目返回不同的模型对象吗? (始终是基础类,但在 WPF 项目中使用时是子类)。 (我确实意识到让存储库 lib 了解我的 wpf 项目并不是最好的主意,但如果这是我所需要的,我可以接受。)
如果还有其他方法可以实现我的目标,请告诉!
【问题讨论】:
标签: c# .net wpf class-library portable-class-library