EF原理

EF原理EF原理

大家好,又见面了,我是你们的朋友全栈君。

EF简介

    实体框架(Entity Framework)简称EF,是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案。是ADO.NET中的一组支持开发面向数据的软件应用程序的技术。是微软的一个ORM框架。

ORM

    O/R Mapping 是EF中非常重要的一个思想,官方解释为:ORM指的是面向对象的对象模型和关系型数据库的结构之间的相互转换。

    通俗的讲,ORM就是将表实体的变化映射到一个表。

EF原理

    通过ORM思想的指导,Entity Framework就可以帮助开发人员跟踪实体的变化,将实体的变化翻译成SQL脚本,并执行到数据中去,也就是将实体的变化映射到了表的变化。

EF原理

    上图也很好的解释了EF的工作原理,我们所做的增删改查操作通过ObjectContext上下文传到ORM,通过实体的变化映射到关系表,从而实现对数据库的操作。

    那么在EF中是如何实现对数据的增删改查呢?我们可以根据自己的情况选择不同的实现方式,主要有DbFirst,ModelFirst,CodeFirst几种方式:

 1.Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,你也可以手动修改这些自动生成的代码及匹配文件。也就是从一个数据库开始,然后生成实体框架和相应代码。
 2.Model First 是先利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。
 3.Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model First是用可视化的方式描述了实体模型。

    我们仅仅是在理论上了解了EntityFramework,它的强大之处还需要具体的实例来体验。个人认为DbFirst是比较常用的方式,下一篇将具体介绍如何实现。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105739.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea2021激活码 mac(最新序列号破解)

    idea2021激活码 mac(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 资源链接整合(不保证一直存在,持续更新)

    资源链接整合(不保证一直存在,持续更新)以下是我在学习java时遇到的学习资源,供大家使用,如有侵权,请联系我,立即删除。联系方式872454169@qq.com。1.maven下载,安装,测验http://jingyan.baidu.com/article/20095761bd195ecb0621b465.html2.Myeciplse创建maven项目(可以先看下maven百度百科)http://jingyan.ba

  • nested exception is java.lang.NoClassDefFoundError: org/codehaus/jettison/json/JSONObject异常的解决办法

    nested exception is java.lang.NoClassDefFoundError: org/codehaus/jettison/json/JSONObject异常的解决办法nestedexceptionisjava.lang.NoClassDefFoundError:org/codehaus/jettison/json/JSONObject异常的解决办法

  • 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程

    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。本教程将分为五个步骤来完成Android开发环境的部署。第一步:安装JDK。第二步:配置Windows上JDK的变量环…

  • Dubbo框架(Javassm框架)

    1.Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别WebService模式中的WSdl,以服务者

  • getClassLoader能否为null

    getClassLoader能否为null前言我们Javaer都知道类想要被加载是需要一个个ClassLoader来执行的,并且类加载的方案叫双亲委派模式,说是双亲,其实就是单亲,可能我们最初的翻译人想让我们的加载器的家庭更完整吧,所以翻译成双亲。默认的类加载器包括BootstrapClassLoader、ExtClassLoader、AppClassLoader,他们都定义在在rt.jar中的sun….

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号