1.Database-First
Database First就是首先建立好数据库,或者存在现成的数据库也可以。然后在vs中添加ADO.Net实体数据模型,找到需要的数据库和表。它是以数据库设计为基础的,并根据数据库自动生成实体数据模型,从而驱动整个开发流程。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。这种模式的好处是使用简单,容易上手。比较适合于采用已经存在的数据库进行开发。既通过简单的方式实现了,又重用了数据库。
2.Model-First
ModelFirst开发模式是指从建立实体数据模型入手,并依据模型生成数据库,从而驱动整个开发流程。该模式也就是业界流行的面向领域的编程模式,它的优点在于,程序员可以用与设计建模相同的思维来进行代码编写,更符合面向对象的思想。ModelFirst与Database First是互逆的,但最终都是输出数据库和实体数据模型。但是当实体需要改变的时候,我们要重新在设计器中修改实体,然后重新生成SQL脚本,更新数据库,这个时候数据库中原有的数据就会被清空。为了达到数据备份的作用,我们还需要提前对数据库进行备份,这又增加了工作量。
3.Code--First
Code Only模式自认为是一种很神奇的模式,手动创建POCO模型,数据层DbContext及映射关系,通过Database.SetInitializer生成数据库,非常灵活。但是当实体类很多的时候,每一个实体类都需要我们手动编写代码,这将会是一件非常庞大的工程。但是Code Only的好处绝对是比坏处大的,所以,选择哪种方式完全凭借我们自身的实际需求。
Code-First 测试:
1.安装EntityFramework 和MySql.Data.Entity
右键引用,通过NuGet来安装。
2.新建实体类注意实体类的名称要与数据库中的名称相同,不区分大小写。
[MaxLength(30)] 对应的是数据库的varchar(30)
3.新建数据库上下文MyContext
name为数据库连接字符串名称
4.调用
login获取到数据。