我已经工作了很长时间来学习如何实现 DDD、IoC 并确保我的应用程序中存在关注点分离。我也在尝试进入测试优先开发的方式。
不知何故,实体框架给医学带来了一些麻烦。我有一个域项目来保存我的域对象(其中许多现在是 POCO 类,但有一些行为)。这是遗留代码,我尝试对其进行重构,但 MVC 在很大程度上依赖于 Dataannotations 进行验证。
datavalidation-attributes 设置在域对象上,将它们与实体框架联系起来。大多数关于 EF 的教学视频和文档也使用了域对象的许多属性。
所以我想知道这真的是一件好事吗?
我喜欢许多属性的想法,但是将它们放在域对象上的结果让我觉得实体框架是应用程序的核心,而不是域对象。
你有解决这个问题的任何提示,或者应该是这样吗?
更新:
下面建议的答案使我找到了Ladislav Mrnka回答的这篇文章
对我来说,如果它解决了我的问题,这听起来可能是最好的方法。他还指出了与域层中的属性相同的问题。