使用DB First vs Code First有什么优点/缺点?

时间:2011-10-25 00:47:43

标签: entity-framework entity-framework-4 entity-framework-4.1

我知道enum目前仅在2011年6月的CTP中提供,不会在4.2中。还有哪些因素可以让某人选择其中一个?

3 个答案:

答案 0 :(得分:2)

Ladislav Mrnka有一个great SO answer,它打破了DB First,Code First和Model First之间的差异。我强烈建议你去阅读并提出它。

除此之外,我只会添加以下几点:

  • 即使在2011年6月的CTP中,Enum的支持也是有限的,所以你可能会这样做 想知道这些问题是否适合你。 更新:EF5 +支持Enums with EF DesignerCode First

  • 如果您针对Oracle数据库实施EF,和您       不想为数据提供商付费,那么你就是       没有Code First,作为Oracle的own provider (仍处于测试阶段)       不支持它。

编辑:这是另一个全面的answer from Ladislav

答案 1 :(得分:1)

答案 2 :(得分:-2)

优点:所有对象查询的一种常见语法(LINQ / Yoda),无论是否为数据库,如果按预期使用,速度非常快,易于实现SoC,完成复杂任务所需的编码较少

缺点:您必须以非传统的方式处理数据,而不是每个数据库都可用

缺点:如果数据库FE中有任何架构更改将无法正常工作!您还必须在解决方案中更新架构!!!

优势:使用LINQ / FE对象快速直接进行添加/修改/删除/更新。

优势: - 易于映射业务对象(在环境中使用拖放表)。 - 当您使用中/小型域模型时,它会保持良好的性能。

缺点: - 当您使用庞大的域模型时,它会受到限制。 -Scalability。