3

我们小组有一个管理所有数据库的 DBA。我们开始使用 Code First,它运行良好。现在我们建议我们应该使用数据库优先方法,但据我所知,这需要我们在图表中进行映射,我们不能使用 Fluent API。

我们对 POCO 类的想法很满意,所以我们最好继续使用 Code First 还是使用 EDMX 文件和传统工作方式有特别的优势(除了使用存储过程)?

4

1 回答 1

3

主要优点是灵活性,避免代码生成并获得对幕后制作方式的更多控制。

当您在代码中定义映射时,您在映射策略、调整和配置方面拥有更多权力。

总而言之:您的域不会是数据库驱动的:您拥有自己的域模型,而需要适应它的是数据库。对我来说,这就是一个严肃的领域应该如何使用严肃的 OR/M。OR/M 使构建真正的面向对象领域成为可能,同时它们处理与一个非常不同的世界(关系模型)进行互操作的痛苦。

如果您真的想拥有一个独立于平台的中性域模型,那么 Code-First 是您的最佳选择。

也许我有偏见,但我的观点是严肃的、大中型或伟大的项目应该从 Code-First 开始并进行。如果您的域不是那么复杂,代码生成和 EDMX 范式以及这种糖就可以工作。一旦变得复杂,您就需要制定自己的数据和域策略。

于 2013-03-15T11:23:41.557 回答