0

我刚刚偶然发现了一个 EF Code First 教程,该教程介绍了使用 Fluent API 创建 POCO 配置。我不知道这在 EF 中可用,并且以前只出现过数据注释。

看完本教程后,我大概阅读了十几篇关于“Fluent API vs. Data Annotations”的文章/主题。似乎共识是 Fluent API 允许您将“哑”域 POCO 与持久性逻辑分开。我看到的一个明显问题是你没有得到数据注释附带的前端验证。我还没有读到支持 Fluent API 的人群关于如何解决这个问题的回复。

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

4

1 回答 1

1

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

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

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

于 2013-08-01T21:13:59.580 回答