最近在网上学习,觉得很实用,记了一下笔记
一、基本概念
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#对象操作之间的“翻译官”或“适配器”。