使用DB First与Code First的优点/缺点是什么?
答
拉吉斯拉夫Mrnka有great SO answer,打破了DB首先,代码优先和模型优先之间的差异。我强烈建议你去阅读它,并注意它。
除此之外,我只想补充以下几点:
即使是在2011年6月CTP,枚举支持是有限的,所以你可能 想看看是否有这些问题都是搅局者为您。更新:EF5 +支持Enums with EF Designer和Code First。如果要针对一个Oracle数据库,实施EF和你 不想支付数据提供,那么你将 没有代码首先,Oracle的own provider
(仍处于测试阶段)不支持它。
编辑:这是另一个全面的answer from Ladislav。
答
优势:对所有对象查询它是否是数据库与否,漂亮的快,如果按照规定使用一种常见的语法(LINQ /尤达),易于实现的SoC,减少代码量需要完成复杂的任务
缺点:你必须考虑在处理数据,并不适用于所有的数据库
缺点一种非传统的方式:如果在数据库中的任何架构更改FE将无法正常工作!您必须更新解决方案中的模式!
优点:它使用LINQ/FE对象的快速和直接转发用于添加/修改/删除/更新。
优点: - 易于映射业务对象(在环境中拖放&删除表)。 - 当您使用中/小型模型时,它会保持良好的性能。
缺点: - 当你使用巨大的领域模型时,它受到限制。 - 可扩展性。