近期,在忙着ITOO的项目,然而在师姐的高压催促下发现自己前期欠下的账太多了,EF这一块完全不懂,故近期打算花点时间把他补上。相信这些添砖加瓦的工作做好之后,ITOO上手就so easy了。
今天就跟大家说说我晚上的所学吧。建议大家可以试试哟,挺好上手的。
EF定义
Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。
Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),而数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以 及支持 Entity Framework 的数据提供者 (provider),让数据访问的工作得以顺利与完整的进行。
ORM
ORM(Object Relational Mapping),翻译过来就是实体关系映射。
其实说白了就是将数据库里的表转换成开发时候的对象,将表里的字段转换成属性,这样便于程序员有机的利用数据库。我相信大家在实现机房的时候都有印象,那就是我们当时写了好多的Model,例如get,set之类的,而现在这个实体框架的最直接的好处就是不用我们再写这些个傻瓜式的代码了。它直接生成就OK了。
小例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
//第一步创建数据库访问的上下文
HBJLLFPublicEntities dbContext = new HBJLLFPublicEntities();
UserInfo user = new UserInfo();
user.UserID = "2";
user.UserName = "juaner";
user.UserPwd = "123";
user.UserLevel = "小刀";
//向dbContext指向的数据库里头的pbcatcol表添加一条数据branch(用表实体的方式)
dbContext.UserInfo.Add(user);
//保存到数据库中
dbContext.SaveChanges();
}
}
}
效果图:
以上就是我刚接触EF这一块的所得,EF的学习还会继续下去,我相信EF的优点远远不止实体层代码减少,我会把EF的神秘面纱揭开的。期待我的下一篇博客吧,我会定期分享给大家的。