什么是EF框架 ?
全称EntityFramework 官方点的解释是Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。
ORM框架是什么东西?
Object Relational Mapping 翻译过来就是对象关系映射。如果你无法理解这个东西。我只能告诉你去百度了。反正我刚开始的也不太明白。下面有个图方便我们理解
在整个领域比较常用的有:Hibernate,iBATIS,mybatis这些在java生态里面应用的orm框架,这些框架当然也有C#版本的。但是作为微软的亲儿子C# 系列肯定采用EF框架了毕竟强大的linq让我太喜欢了。在ios开发领域中有Core Data 等和安卓的ormlite等,这些都是orm框架。
EF框架的三种模式
DataBase First 数据库优先, 传统的表驱动方式创建EDM,然后通过EDM生成模型和数据层代码。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。简历理解就是先设计数据库,创建好数据库映射成对象和上下文。
Model First 模型优先,先创建EDM模型,再生成DDL数据库脚本和模型和数据层代码。除生成实体模型和自跟踪实现模型,支持生成轻型DbContext。简单理解就是设计EDM模型然后生成到数据库和创建对象和上下文。
CodeFirst 代码优先,手动创建POCO模型,数据层DbContext及映射关系,通过Database.SetInitializer生成数据库,这种方式较灵活,但是需要手动定义实体模型和关系映射。简单理解就是自己写好实体对象和映射关系,最后通过命令生成到数据库中去。