【问题标题】:When should I use EF code-first or model-first in my projects?我什么时候应该在我的项目中使用 EF 代码优先或模型优先?
【发布时间】:2012-11-03 05:41:24
【问题描述】:

我们有几种使用 EF 访问数据库的方法:代码优先或模型优先或数据库优先设计......我想知道我什么时候使用这些方式访问数据库?......

这些技术在我的 Asp.net Web 应用程序或 asp.net mvc Web 应用程序中访问数据库是否有任何标准?

【问题讨论】:

  • 要明确一点:这些是不同的设计方法 - 所有这些实际的数据库访问 都是相同的 - 它使用实体框架而不是 ADO 。网。决定只是关于如何为该数据库访问创建实体数据模型......因此:在运行时,根本没有区别 - 您的代码只执行相同,因此对于何时使用一种设计方法与另一种设计方法,实际上没有“最佳实践” - 这是您自己的个人喜好,您喜欢的工作方式。
  • 不知道前提是无法回答的。但即便如此,这始终是does not fit StackOverflow's Q&A format. 的讨论问题。

标签: asp.net entity-framework c#-4.0 design-patterns ef-code-first


【解决方案1】:

基本上有两种情况——你的数据库存在或者你的数据库不存在。如果您的数据库存在,您有两个选择 - 您可以使用 Entity Designer 对数据库进行逆向工程或对现有数据库使用“CodeFirst”(例如,使用 EF Power Tools 逆向工程)。现在,如果您更喜欢将类用作建模工具而不是线和框(EF 设计器),您会选择 CodeFirst,否则您将使用设计器。如果您没有数据库,您还有两个选择 - CodeFirst - 根据您的类 (CodeFirst) 创建数据库或使用设计器绘制模型(“线和框”)并根据您绘制的内容创建数据库。使用 CodeFirst(用于新数据库)时,您将能够使用迁移,这在您处理新应用程序并且您希望数据库架构发生变化/发展时非常有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 2011-08-13
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2013-08-05
    相关资源
    最近更新 更多