Entity Framework介绍和DBFirst开发方式
一.ORM概念 什么是ORM?
对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术。简单来说,就是将关系型数据库和实体对象进行映射的工具。
二.Entity Framework
Entity Framework是微软官方提供的ORM工具。
Entity Framework架构如下图:
实体数据模型EDM (Entity Data Model):将关系数据模型映射为实体数据模型,由三个部分组成,概念模型、存储模型和映射,存储在.edmx的xml文件夹中
概念模型 (CSDL)︰ 概念模型对应于程序中的实体类。
存储模型 (SSDL)︰ 存储模型对应于数据库,包括表、 视图、 存储的过程和他们的关系和键。
映射(MSL) ︰ 映射包含有关如何将概念模型映射到存储模型的信息。
实体数据模型EDM文件结构如下:
三.DB First 开发方式
DB First又叫数据库优先的开发方式,是一种比较旧的开发方式,现在越来越多的企业已经不再使用这种开发方式。当然,对于一些旧项目进行升级,在已经有了数据库的情况下,使用此方式还是十分方便的。
1.创建一个空白解决方法EFDemo,在EFDemo下创建一个控制台应用程序EFDBFirst,右键添加新项,选择实体数据模型,创建实体数据模型EFDBFirstModel
2.选择模型类型
3.新建数据库连接,本例以Northwind数据库为例
4.生成的文件结构如下:
5.在代码中访问上下文插入数据到数据库中:
Entity Framework介绍和DBFirst开发方式的更多相关文章
- Entity Framework介绍
1.Entity Framework介绍 下图显示EF整体架构.现在我们来看看架构的各个组件: EDM(Entity Data Model): EDM由三个主要部分组成:概念模型,映射和存储模型.映射 ...
- 8天掌握EF的Code First开发之Entity Framework介绍
返回<8天掌握EF的Code First开发>总目录 本篇目录 Entity Framework概要 什么是ORM Entity Framework简史 Entity Framework具 ...
- 转载 8天掌握EF的Code First开发之Entity Framework介绍
转载原地址: http://www.cnblogs.com/farb/p/IntroductionToEF.html Entity Framework概要 Entity Framework是微软的O ...
- ORM,Entity Framework介绍以及其所包含的基础架构介绍
一:entity framework 6.0 ORM (实体关系模型) O: Domain Object 领域模型 R: Relational Database 关系型数据库 M: Mapping 映 ...
- Entity Framework之Code First开发方式
一.Code First Code First方式只需要代码,不需要Edmx模型.EF通过实体类型结构推断生成SQL并创建数据库中的表.开发人员只需要编写实体类就可以进行EF数据库的开发. Code ...
- Entity Framework之Model First开发方式
一.Model First开发方式 在项目一开始,就没用数据库时,可以借助EF设计模型,然后根据模型同步完成数据库中表的创建,这就是Model First开发方式.总结一点就是,现有模型再有表. 二. ...
- 第一篇:Entity Framework 简介
先从ORM说起吧,很多年前,由于.NET的开源组件不像现在这样发达,更别说一个开源的ORM框架,出于项目需要,以及当时OOP兴起(总不至于,在项目里面全是SQL语句),就自己开始写ORM框架.要开发O ...
- Programming Entity Framework 翻译(1)-目录
1. Introducing the ADO.NET Entity Framework ado.net entity framework 介绍 1 The Entity Relationship Mo ...
- Entity Framework 实体框架的形成之旅--几种数据库操作的代码介绍(9)
本篇主要对常规数据操作的处理和实体框架的处理代码进行对比,以便更容易学习理解实体框架里面,对各种数据库处理技巧,本篇介绍几种数据库操作的代码,包括写入中间表操作.联合中间表获取对象集合.递归操作.设置 ...
随机推荐
- centeros 7开机自动挂载磁盘
场景: 使用mount命令将新发现的磁盘/dev/sdb挂载给/liu后,但是重启后又看不到磁盘? 问题导致原因: 虽然我们可以使用mount命令去挂载磁盘,但是此操作只对服务器运行期间有效,也就是临 ...
- VUEJS开发规范
VUEJS开发规范 基于组件化开发理解 组件命名规范 结构化规范 注释规范 编码规范 基于组件化开发理解 什么是组件? ``` 组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘.键盘.鼠 ...
- [Luogu]P3338 [ZJOI2014]力(FFT)
题目描述 给出\(n\)个数\(q_i\),给出\(F_j\)的定义如下: \(F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\fr ...
- Github README.md中添加图片
1.先把图片上传到你的项目中:然后在github网站上按路径打开图片,如下打开的图片链接: 2.复制图片的地址 3.然后在README.md写上: ![这里随便写文字](你刚复制的图片路径) 注意 ...
- 【转】C# 正则表达式大全
[转]C# 正则表达式大全 前言 在网上看到一个不错的简易版正则匹配和替换的工具,现在补充进来,感觉还不错,效果如下(输入验证中文汉字的正则表达式) 在线下载 密码:5tpt 注:好像也是一位园友 ...
- MYSQL锁表问题的解决方法
本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 mysql>show processlist; 参看sq ...
- 洛谷 P3147 [USACO16OPEN]262144
P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...
- orale 中创建定时任务
--添加变量 variable job1 number; --创建JOB begin dbms_job.submit(:job1,'testjob;',sysdate, 'TRUNC(sysdat ...
- 6、Java类、对象、构造器、引用类型内存基本知识、引用类型值传递
1.面向对象三大特征: 封装:encapsulation 继承:inheritance 多态:polymorphism 2.类中 数据特征(property):属性(attribute)静态的stat ...
- less09 判断语句
less //.mixin (@a) when (lightness(@a) >= 50%) { //255/2=127.5 // background-color: black; //} // ...