2013-08-01 64 views
0

我刚刚偶然发现了EF Code First教程,它使用Fluent API创建POCO配置。我不知道这在EF中是可用的,并且以前只有数据注释。实体框架Fluent API:违反DRY?

看这个教程后,我的“流利的API与数据注释”可能阅读十篇/主题。似乎共识是Fluent API允许您将您的“哑”域POCO与持久性逻辑分开。我看到的明显问题是,您没有得到与数据注释一起出现的前端验证。我还没有阅读pro-Fluent API人群对于如何解决这个问题的回应。

使用流利的API,你不得不重复的配置文件,以及对前端的逻辑是什么?

回答

1

是,使用流畅的API的方式很可能是你最终会在您的前端验证复制实体元数据时。

一个流畅的API方法的最大好处是,你的实体对实体框架没有依赖性。通过将数据注释属性移动到System.ComponentModel.DataAnnotations程序集,.NET 4.5中已修复此问题。

这也与复杂的实体模型共同的,那你的前端实际上不会使用域实体,但是会使用的DTO还是从实体预计一些前端的具体型号。在这种情况下,无论如何你都会失去你的数据注解属性。

+0

啊。我懂了。你的第二段与EF的新版本有点不同,但就第三段而言,你的前端(视图)不应直接使用域POCO。他们应该使用视图模型。我认为我在实现这个过程中遇到的问题是因为几乎所有我见过的EF教程/视频都使用了最基本的示例(单个项目,在视图中使用域对象等),这些示例远离实际项目,它变得无益。无论如何,谢谢! – im1dermike

相关问题