【发布时间】:2011-07-18 07:33:18
【问题描述】:
使用 Entity Framework 代码优先创建数据库时,可以从代码中提取很多数据库模型。 Fluent API 和/或属性可用于微调模型。
Fluent Api 与 Data Annotations 相比有哪些优缺点?换句话说:即使在某些情况下两种方法都可以使用,在什么情况下一种方法应该优于另一种方法?
【问题讨论】:
-
只是一个想法:我通常做的是用我的 POCO 创建一个 Model 项目,然后在 Repository 项目中,专门为 EF 创建一组新的 POCO,并将我的注释放在那里。然后我只是在映射器类中映射两者。这样,我的模型保持不变,并且可以在必要时轻松添加/更改我的数据策略(例如,添加 XmlRepository 并使用相同的模型类)。
-
我现在更喜欢 Annotation,带有 EFCore 和其他库。 (需要更少的代码,并且都在一个地方)github.com/isukces/EfCore.Shaman - 添加和扩展属性 github.com/borisdj/EFCore.FluentApiToAnnotation - 在数据库已经存在时很有用,在进行逆向工程并切换到 CodeFirst 之后
标签: entity-framework ef-fluent-api