繁体   English   中英

实体框架数据注释是否对DDD和关注点分离不利?

[英]Is Entity Framework Dataannotations bad for DDD and separation of concerns?

我现在已经花了相当多的时间来学习如何实现DDD,IoC并确保应用程序中的关注点分离。 我还试图进入测试优先开发的方式。

实体框架不知何故给医疗带来了麻烦。 我有一个保留我的域对象的域项目(现在有许多POCO类,但是有一些行为)。 它是旧代码,我尝试对其进行重构,但是MVC大量依靠Dataannotations进行验证。

在域对象上设置datavalidation-attributes,将其与实体框架联系起来。 关于EF的大多数教学视频和文档在域对象上也使用了很多属性。

所以我想知道这真的是一件好事吗?

我喜欢许多属性的概念,但是将它们放在domian对象上的结果使我感到实体框架是应用程序的核心,而不是域对象。

您是否有解决此问题的提示,或者应该如何解决?

更新:

以下建议的答案将我Ladislav Mrnka回答的帖子

对我来说,这可能是解决我的问题的最佳方法。 他还指出了域层中的属性存在的相同问题。

使用Code First Fluent API验证会更好吗?

一些属性与EF和MVC有关-描述您的班级的属性。 必填字段,最小和最大长度等...如果您真的想分隔所有内容,我会将这些属性保留在域对象上,将数据库内容(外键等)放在FluentAPI和MVC内容中(在视图模型上显示名称等)。

如果MVC 4恰好支持FluentAPI(我正在使用MVC 3,但我不了解MVC 3),则一定要使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM