EF框架
1、EF是什么?
全称EntityFramework,官方解释是ADO.NET(专门用于访问数据库的组件)中的一套支持面向数据的软件应用程序的技术,是微软的一个ORM(object relation mapping)框架。
Entity Framework是ORMapping的一种具体实现,那ORMapping又是什么呢?ORM–ObjectRelation
Mapping,即对象关系映射框架/数据持久化框架,是根据实体对象操作数据表中数据的一种面向对象的操作框架.
2、EF的框架模式?
DataBase First
DataBase First传统的表驱动方式创建EDM,然后通过EDM生成模型和数据层代码。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。
Model First
Model First先创建EDM模型,再生成DDL数据库脚本和模型和数据层代码。除生成实体模型和自跟踪实现模型,支持生成轻型DbContext。
CodeFirst
Code First手动创建POCO模型,数据层DbContext及映射关系,通过Database.SetInitializer生成数据库,这种方式较灵活,但是代码工作较多。
3、EF框架优缺点
优点:
1.简洁的Linq to Sql语句大大提高了开发人员的效率,不要再写复杂的sql语句;
2.不再需要再管应用程序如何去连接数据库;
3.EF可以用作用于数据服务和OData Service的基础设施;
缺点:
1.由于linq语句编译之后就是sql,对于这种自动生成的sql语句无法控制;
2.EF的运行机制会消耗大量内存,大大降低了程序运行效率,从而导致降低了用户在客户端的体验效果;
3.一旦数据结构发生变化,需要更新EF数据model;有时还可能会出现找不到更新过的实体类这种情况;
4、进行增删改查
4.1、新增
4.1.1、直接新增
var classinfo = new ClassInfo()
{
Name = "2018173807",
TeacherID = 1,
Term = 1,
Remark = "bb"
};
db.ClassInfos.Add(classinfo);
db.SaveChanges();
4.1.2、改变状态新增
var student = new Student()
{
ClassInfoID=