我们的小组有一个管理所有数据库的DBA。我们开始使用Code First,它工作正常。现在我们有建议我们应该使用数据库第一种方法,但据我所知,这要求我们在图中进行映射,我们不能使用Fluent API。
我们对POCO课程的想法感到满意,那么我们最好继续使用Code First,还是使用EDMX文件和传统的工作方式有特别的优势(除了存储过程使用)?
答案 0 :(得分:3)
主要优点是灵活性,避免代码生成,并获得对幕后事物制作方式的更多控制。
在代码中定义映射时,您在映射策略,调整和配置方面拥有更强大的功能。
总结:您的域不会受数据库驱动:您拥有域模型,而且数据库需要适合它。对我来说,这应该是一个使用严重OR / M的严重域名。 OR / M使构建真正的面向对象的域更有可能,同时它们处理与非常不同的世界(关系模型)互操作的痛苦。
如果您真的想拥有一个独立于平台的中立域模型,那么Code-First就是您的最佳选择。
也许我有偏见,但我的观点是严肃的,中到大或伟大的项目应该从Code-First开始。如果您的域名不是那么复杂,代码生成和EDMX范例以及这种糖都可以使用。一旦变得复杂,您需要处理自己的数据和域策略。