ORM框架知识点

最近在网上学习,觉得很实用,记了一下笔记

一、基本概念

ORM:对象关系映射(Object-Relation-Mapping)主要实现基于面向对象方式操作数据库的各种方法,是一种框架技术。长期以来,C#面向对象编程和数据库操作一种处于一个“分离”。分离:最后C#还得把对象变成普通的SQL语句。

.NET中ORM框架:.NHibernate、MyBatis.NET、LINQ to SQL、ADO.NET Entity Framework(现在的主流)、企业自己开发的框架。

ORM框架:

1.App.config:配置文件(保存应用程序配置信息)

2.EFDB.demx:EDM元数据文件。(整个ORM框架的映射中心,将非对象化的关系型数据库模块(数据表)

映射成完全对象化的实体模型)

(1)SSDL:存储模式(描述数据库中各个数据表的结构:表名称,列名称,列的特征,表之间的关系)注意:通过SSDL,ORM就能够读懂数据库的数据表。

(2)CSDL:实体模型(描述的是C#的实体类,PS:实体类就是对数据表的映射),基于面向对象编程实体类表示数据表里面的一条数据。

注意:通过CSDL,ORM能够读懂C#中的实体类。

(3)C-S Mapping:映射模型(将《数据表》的描述,和C#《实体类》的描述关联,(对应起来))注意:通过C-S Mapping,ORM能够通过实体对象找到对应的数据表,并且把实体属性和数据表的列对应准确。

总体理解:有edmx文件,数据库各个表和C#实体对象,彻底关联起来,将来在程序中操作C#实体对象,ORM就能够知道你要操作哪个数据表,以及对应数据表的字段,比如:你要修改实体属性StudentName的值,那么通过ORM框架后,就会对应到指定数据表的StudentName列。在简化理解edmx:也就是说edmx就是一个数据和C#对象操作之间的“翻译官”或“适配器”。

时间: 2024-10-06 12:01:24

ORM框架知识点的相关文章

ORM框架的设计

(开头先从网上抄些ORM的介绍) 什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射.ORM也可理解是一种规范,具体的ORM框架可作为应用程序和数据库的桥梁.这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法. 为什么需要ORM 面向对象的程序设计语言,代表了目前程序设计语言的主流和趋势,其具备非常多的优势,比如: 1. 面向对象的建模.操作.

.NET轻量级ORM框架Dapper入门精通

一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架Dapper的魅力. 本次分享课程适合人群范围: 一.<.NET轻量级ORM框架Dapper修炼手册>适合人群如下: 1.我是一个新手,主要工作面向的是MS SQL Server数据库,那么选择修炼手册一定没错. 2.对Dapper从没有过了解或者了解不全面的同学,想通过学习进一步提升对Dappe

atitit.orm的缺点与orm框架市场占有率,选型attilax总结

1. attilax的orm框架要求 1 2. orm框架市场占有率 2 3. spring jdbc templt 3 4. eclipselink /toplink  不好用 4 5. jooq 的总结 4 6. attilax的选择 atiorm 4 7. 参考 4 1. attilax的orm框架要求 1.无需配置文件或注解..直接从map.json生成sql 2.直接获取sql..无需连接数据库..方便调试.或这sql传输. 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:

最好的5个Android ORM框架

在开发Android应用时,保存数据有这么几个方式, 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式,即本地数据存储,如嵌入式SQLLite,你可以选择直接使用SQL语句.Content Provider 或 ORM(对象关系数据映射). 对于 Android 应用的开发,主要是使用Java语言,所以适用于Java语言的一些ORM,也能移植于 Android 平台上. 下面是5个可用ORM的总体介绍

ORM框架详解

.Net开源微型ORM框架测评 什么是ORM? 对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说,它其实是创建了一个可在编程语言里使用的"虚拟对象数据库". 一般的ORM包括以下四部分: 一个对持久类对象进行CRUD操作的API: 一个语言或API用来规定与类和类属性相关的查询: 一个规定MAPPING METADATA的工具: 一种

轻量型ORM框架Dapper的使用

在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我个人的见解,EF是相对来说比较重的ORM框架,它是讲究通用性的框架,而非单纯的实现某种需求的框架,不得不否认的说,EF的开发效率要比用单纯的ADO.NET写sql语句的效率高的不是一点半点,可能很多人会说EF的性能低等等,针对这种问题有时候是需要折中的来讲,从另一个方面来讲,你用了ADO.NET写s

Net框架下-ORM框架LLBLGen的简介(转载)

Net框架下-ORM框架LLBLGen的简介 http://www.cnblogs.com/huashanlin/archive/2015/02/12/4288522.html 官方网址:http://www.llblgen.com/

GreenDao开源ORM框架浅析

Android程序开发中,避免不了要用到数据库,我们都知道android提供了内置的Sqlite,即调用SQLiteOpenHelper的方法,来操作数据库,但是使用过程较为繁琐,从建表到对表中数据的正删改查操作,需要大量的代码来建立表,和完成这些操作. GreenDao居然是ORM框架,它跟hibernate是很像的,就是当你配置了一些参数信息之后,可以由框架来帮你生成对应的实体类,还有生成对应的操作实体类的代码(自动建表和基本的增删改查). 优点: 1.最大性能(最快的Android ORM

c# 轻量级ORM框架 实现(一)

发布一个自己写的一个轻量级ORM框架,本框架设计期初基于三层架构.所以从命名上来看,了解三层的朋友会很好理解. 设计该框架的目的:不想重复的写增删改查,把精力放到功能实现上. 发布改框架的原因:希望给初学者一个参考,希望能给予好的建议,给自己一个展示机会. 在我开始之前,先说明一下,我对"软件工程学"概念东西几乎不通,最高文化程度:初二,所以不喜勿喷. 开始我的orm设计最底层 最底层的是一个DalBase,它是一个抽象的,实现了增删改查的基本操作. 它既然是一个抽象的,那么它的内部就