MVC系列随笔一

学习MVC我做了一些笔记,在学习MVC之前呢,我们需要先了解和MVC一起使用的小伙伴们

做事情要抓重点:

     为什么要学MVC
        MVC的好处
        MVC如何使用,MVC的特点
        MVC的原理
        这种MVC模式能否扩展

-》ORM 框架

1.从广义上理解:ORM框架 面向对象的对象模型和关系型数据库的数据结构之间的转换
   从狭义上理解:ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。

-》EF框架(Entity Framework) 
一种ORM框架→工作机制:<1>追踪实体  <2>生成sql语句  <3>调用ado.net执行数据库操作
csdl:概念架构定义语言
ssdl:存储架构定义语言(逻辑模型)
msl:映射架构语言
简称:EDM   .edmx 本质就是一个xml文件
EF通过EntityClient(基于Provider模式),与ADO.NET 2.0相似。向EDM发送EntitySql操作Entity,ADO.NET 2.0是向数据库发送sql。所有发往EDM的操作都要经过EntityClient,包括Linq to Entity

优缺点:
    优点:可以使用XML进行定义,可以动态添加对象映射到数据库中(生成DDL-Data Define Language),改动数据库不会影响bll业务逻辑层
 缺点:EF第一次运行的时候,需要对EDM进行分析读取,导致有些慢,以后不会慢
    
提供从关系数据库构架到对象的映射

延迟加载机制(如果启用属性,启用延迟加载)
 优点:用的什么数据才去查,有利于性能
 缺点:数据了太大的时候一下加载到内存中,内存会爆掉(使用foreach的时候)
     外键太多会影响性能(查主表的时候,如果用到子表会把子表查出来),不要访问子表太多
    
EF上下文维护有三种方式(避免多个上下文,避免脏数据):
  <1>全局唯一,只用一个上下文,缺点:EF有缓存,当数据渐渐增多时,缓存会吃掉内存,pass掉
  <2>在web开发中,一次请求中用一个实例,请求解除,释放掉
  <3>线程唯一,一个线程有一个上下文实例
补充:DataSet类非常类似于数据库的结构,它包含DataTable,DataRow,DataColumn和DataRelation类,而不提供对象支持

原文地址:https://www.cnblogs.com/dongbo19910728/p/4305653.html