欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

9.翻译:EF基础系列---使用EF开发的方式有哪些?

程序员文章站 2022-07-02 16:45:49
原文链接:http://www.entityframeworktutorial.net/choosing-development-approach-with-entity-framework.aspx 使用EF有三种方式: 先看看数据库优先模式吧 在数据库优先的模式中,你使用Visual Studi ......

原文链接:

使用ef有三种方式:

  1. database--first【数据库优先】
  2. code--first【代码优先】
  3. model--first【模型优先】

先看看数据库优先模式吧

在数据库优先的模式中,你使用visual studio中集成的实体模型对象向导来为已经存在的数据库,生成上下文类以及实体集,或者执行相关的ef命令。

9.翻译:EF基础系列---使用EF开发的方式有哪些?

ef 6全面的支持数据库优先模式。ef core中有限制的支持数据库优先模式。 后面我们在ef db-first系列中将会具体学习。

接着看看代码优先模式吧

使用代码优先模式,你在程序中没有事先存在的数据库,在这个模式中,你首先编写实体(领域类),然后还有上下文类,然后通过借助这些类,使用数据库迁移命令,创建数据库。

遵循领域驱动设计(ddd)原则的开发人员,更愿意先编写他们的领域类,然后生成数据库,进行开发程序。

9.翻译:EF基础系列---使用EF开发的方式有哪些?

在后面的ef 6 code-first系列和 ef core系列中我们将详细学习这个开发模式。

最后一起看看模型优先模式吧

在模型优先模式中,你通过visual studio中集成的图形设计器,来创建实体,实体关系,以及继承关系,然后生成实体,上下文类,以及数据库脚本(根据你的可视化实体生成的)。

9.翻译:EF基础系列---使用EF开发的方式有哪些?

请注意: ef 6 有限制的支持model-first方式,而ef core一点都不支持这种开发方式。所以我们不学model first了

了解完,上面的开发模式之后,我们开发程序的时候,怎么选择开发模式呢?使用下面的图形来决定,什么时候使用什么开发模式。

9.翻译:EF基础系列---使用EF开发的方式有哪些?

就像上面图形说的,如果程序中以及有了领域类,你就可以选择code-first模式,因为你可以根据实体生成数据库,如果你已经有了数据库,那么就可以选择数据库优先模式,使用实体对象模型,来创建相应的实体,以及上下文类,如果你没有数据库,也没有领域类,就可以选择第三种模式,也就是模型优先模式。

 

好了,ef的基础系列,第七篇就介绍完了。有不明白的可以留言,谢谢支持。

附录:

ef 6官方文档:  

ef core官方文档: