Entity framework 实体框架fluentapi:违反DRY?

Entity framework 实体框架fluentapi:违反DRY?,entity-framework,data-annotations,fluent,Entity Framework,Data Annotations,Fluent,我刚刚偶然发现了一个EF代码第一教程,该教程介绍了如何使用Fluent API创建POCO配置。我不知道这在EF中是可用的,以前只有数据注释 看完本教程后,我大概读了十几篇关于“Fluent API vs.Data Annotation”的文章/主题。大家似乎一致认为,Fluent API允许您将“哑”域POCO与持久性逻辑分离。我看到的一个突出问题是,您没有得到数据注释附带的前端验证。我还没有读到ProFluent API人群对如何解决这一问题的回应 使用Fluent API时,您是否被迫在配

我刚刚偶然发现了一个EF代码第一教程,该教程介绍了如何使用Fluent API创建POCO配置。我不知道这在EF中是可用的,以前只有数据注释

看完本教程后,我大概读了十几篇关于“Fluent API vs.Data Annotation”的文章/主题。大家似乎一致认为,Fluent API允许您将“哑”域POCO与持久性逻辑分离。我看到的一个突出问题是,您没有得到数据注释附带的前端验证。我还没有读到ProFluent API人群对如何解决这一问题的回应


使用Fluent API时,您是否被迫在配置文件和前端复制逻辑?

是的,使用Fluent API方法时,您可能会在前端验证中复制实体元数据

fluentapi方法的一大好处是您的实体不依赖于实体框架。在.NET 4.5中,通过将数据批注属性移动到System.ComponentModel.DataAnnotations程序集,此问题已得到修复


复杂实体模型也很常见,前端不会实际使用域实体,而是使用DTO或从实体投影的某些前端特定模型。在这种情况下,您将丢失数据注释属性。

Ahh。我懂了。您的第二段与EF的新版本是一个没有实际意义的观点,但就您的第三段而言,您的前端(视图)无论如何都不应该直接使用域POCO。他们应该使用视图模型。我认为我认识到这一点的问题在于,我所看到的几乎每一个EF教程/视频都使用了最基本的示例(单个项目,在视图中使用域对象等),这些示例与实际项目的样子相差甚远,因此变得毫无帮助。无论如何,谢谢!