摘要: 一. 什么是事务 我们通俗的理解事务就是一系列操作要么全部成功、要么全部失败(不可能存在部分成功,部分失败的情况)。 举一个事务在我们日常生活中的经典例子:两张银行卡(甲、乙),甲向乙转钱,整个过程需要执行两个操作,甲账户钱减少,乙账户钱增加,这是转账成功的情况;转账失败时候,二者均不执行,甲乙账户 阅读全文
posted @ 2017-10-28 21:48 Yaopengfei 阅读(7147) 评论(1) 推荐(1)
摘要: 一. 简介 上一个章节中,也介绍了立即加载和延迟加载,但上一个章节是针对单表而言的,不含外键,立即也好,延迟也好,都是指单表中的数据。但本章节重点介绍的三种加载方式均是针对含(导航属性、外键)的情况下,查询主表,从表中的数据加载情况。 下面准备两张表:Student和StudentAddress两张 阅读全文
posted @ 2017-10-26 21:52 Yaopengfei 阅读(2465) 评论(4) 推荐(5)
摘要: 一. 本地缓存 从这个章节开始,介绍一下EF的一些高级特性,这里介绍的首先介绍的EF的本地缓存,在前面的“EF增删改”章节中介绍过该特性(SaveChanges一次性会作用于本地缓存中所有的状态的变化),在这里介绍一下本地缓存的另外一个用途。 ① Find方法通过主键查询数据,主键相同的查询,只有第 阅读全文
posted @ 2017-10-20 20:56 Yaopengfei 阅读(2664) 评论(0) 推荐(0)
摘要: 一. 背景 上一个章节,介绍了EF调用两类SQL语句,主要是借助 ExecuteSqlCommand 和 SqlQuery 两个方法来完成,在本章节主要是复习几类存储过程的写法和对应的EF调用这几类存储过程的写法,另外介绍EF的DBFirst模式的下EF存储过程的特有写法。 本章要达到以下几个目标: 阅读全文
posted @ 2017-10-20 14:55 Yaopengfei 阅读(2390) 评论(4) 推荐(0)
摘要: 一. 前言 在前面的两个章节中,我们分别详细介绍了EF的增删改的两种方式(方法和状态)和EF查询的两种方式( Lambda和Linq ),进行到这里,可以说对于EF,已经入门了,本来应该继续往下进行EF的高级属性,但本章节要打断一下,俗话所得好,“做人不能忘本”,应用到开发领域,就是“编码也不能忘本 阅读全文
posted @ 2017-10-16 20:59 Yaopengfei 阅读(6112) 评论(2) 推荐(0)
摘要: 简介 在前面EF的介绍中,曾多次提到过EF可以使用Lambda和Linq来完成对数据库的访问,这两种的语法的具体使用和注意事项在前面的DotNet进阶的系列章节中已经详细介绍过了,本次借着EF章节,重新调整了一下里面的规范和注意事项。 1. Lambda语法 七类核心用法: 0. Select最基本 阅读全文
posted @ 2017-10-16 20:43 Yaopengfei 阅读(3976) 评论(0) 推荐(2)
摘要: 一. 背景 说起EF的增删改操作,相信很多人都会说,有两种方式:① 通过方法操作 和 ② 通过状态控制。 相信你在使用EF进行删除或修改操作的时候,可能会遇到以下错误:“ The object cannot be deleted because it was not found in the Obj 阅读全文
posted @ 2017-10-15 22:43 Yaopengfei 阅读(5096) 评论(12) 推荐(1)
摘要: 一. 语法糖简介 语法糖也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。 需要声明的是“语法糖 阅读全文
posted @ 2017-09-26 11:52 Yaopengfei 阅读(1399) 评论(1) 推荐(1)
摘要: .... 阅读全文
posted @ 2017-09-21 14:41 Yaopengfei 阅读(147) 评论(0) 推荐(0)
摘要: 一. 背景 在实际开发中,经常会遇到需要在线调试,比如:第三方支付的回调、App接口借助PostMan工具测试,需要在代码上直接加断点,来进行调试,VS默认是不支持这种方式,需要手动配置一下,才能达到这种目的。 二. VS2017以前之前版本配置 1. 查看Web项目的自动分配的接口端口号。【选中项 阅读全文
posted @ 2017-09-17 20:39 Yaopengfei 阅读(3550) 评论(1) 推荐(2)
摘要: 待写 阅读全文
posted @ 2017-09-14 10:38 Yaopengfei 阅读(350) 评论(0) 推荐(0)
摘要: 一. Unity声明周期 Unity容器为我们提供了6种生命周期,便于我们根据项目需求来选择使用。 (1). 瞬时。默认省略即为瞬时,无论单线程还是多线程,每次都重新创建对象。new TransientLifetimeManager() (2). 容器单例。只要是同一个Unity容器创建的同一个类型 阅读全文
posted @ 2017-09-10 07:42 Yaopengfei 阅读(624) 评论(0) 推荐(0)
摘要: 一. 基本介绍 回忆: 最早接触到表达式目录树(Expression)可能要追溯到几年前使用EF早期的时候,发现where方法里的参数是Expression<Func<T,bool>>这么一个类型,当初不是很理解,只是知道传入lambda表达式使用即可,对于Expression和里面的Func<T, 阅读全文
posted @ 2017-09-06 20:45 Yaopengfei 阅读(2156) 评论(1) 推荐(4)
摘要: 一. 温故而知新 在开始学习Unity框架之前,有必要温习一下 【依赖倒置原则】和【手写IOC】, 因为我们框架代码的构建都是基于【依赖倒置原则】的,而Unity框架的核心思想就是IOC和DI,所以有必要了解通过【反射+工厂+配置文件】来实现手写IOC的原理。 废不多说,简单提炼一下依赖原则的核心理 阅读全文
posted @ 2017-09-05 08:09 Yaopengfei 阅读(1141) 评论(0) 推荐(0)
摘要: 一. 概述 1. 什么是存储过程? 存储过程可以理解为是使用T_SQL编写的一组代码段,将一系列SQL操作(增删改查)封装在一起,组成一个代码块,方便每次调用。同时存储过程是数据库和应用程序间的桥梁,是二者之间的编程接口,比如:ADO.NET、EF等技术都可以在代码中调用存储过程。 一句话总结:存储 阅读全文
posted @ 2017-08-13 22:41 Yaopengfei 阅读(2028) 评论(1) 推荐(0)
摘要: 一. SQL开篇 1. where用法 1 #region 封装EF调用SQL语句查询 2 public static List<T> ExecuteQuery<T>(string sql, params SqlParameter[] pars) 3 { 4 return db.Database.S 阅读全文
posted @ 2017-08-10 11:57 Yaopengfei 阅读(1276) 评论(1) 推荐(0)
摘要: 一. Linq开篇 1.Where用法 linq中where的用法与SQL中where的用法基本一致。 1 #region 01-where用法 2 { 3 //1. where用法 4 //1.1 查询账号为admin的用户信息 5 Console.WriteLine(" 1. where用法 " 阅读全文
posted @ 2017-08-07 22:19 Yaopengfei 阅读(2368) 评论(3) 推荐(1)
摘要: 一. 简介 Lambda、Linq、SQL伴随着我的开发一年又一年,但它们三者并没有此消彼长,各自占有这一定的比重,起着不可替代的作用。 相信我们最先接触的应该就是SQL了,凡是科班出身的人,大学期间都会学习SQL Server数据库,当然也会学习SQL语言了(顺便吐槽一下,学校用SQL Serve 阅读全文
posted @ 2017-08-01 16:10 Yaopengfei 阅读(3478) 评论(2) 推荐(4)
摘要: 一. 章前小结 在前一个章节中,我们通过IOC的的模式解决了发布后动态切换缓存类型问题,通过CallContext数据槽解决了单线程的实例唯一的问题,那么如果解决全局实例唯一(即多线程内实例唯一),我们很容易的想到了单例模式,提到单例模式,我们很容易想到单例模式的三种形式。 详见:单例模式 二. 构 阅读全文
posted @ 2017-08-01 15:08 Yaopengfei 阅读(1501) 评论(2) 推荐(0)
摘要: 一. 章前小节 在前面的两个章节,我们运用依赖倒置原则,分别对 System.Web.Caching.Cache和 System.Runtime.Cacheing两类缓存进行了封装,并形成了ICache接口、RuntimeCacheHelp类和MemoryCacheHelp类。到这里,相当于万里长征 阅读全文
posted @ 2017-07-28 16:00 Yaopengfei 阅读(601) 评论(0) 推荐(0)
摘要: 一. 轻车熟路 有了上一个章节对 System.Web.Caching.Cache 的探究,这里我们按照同样的思路对 MemoryCache 进行探究,相信必定会得心应手。 1. 程序集准备 a. 需要给项目添加 System.Runtime.Cacheing程序集。 b. 需要给使用的地方添加两个 阅读全文
posted @ 2017-07-28 10:13 Yaopengfei 阅读(972) 评论(0) 推荐(0)
摘要: 一. 揭开迷雾 1. 程序集准备 a. 需要给项目添加 System.Web 程序集。 b. 需要给使用的地方添加两个引用。 2. 程序集探究 在对应的类中输入关键字 Cache,选中点击F12,查看Cache程序集,如下图所示: 我们一起来分析从上往下来分析一下该程序集。 (1). 两个字段,根据 阅读全文
posted @ 2017-07-25 14:45 Yaopengfei 阅读(673) 评论(0) 推荐(0)
摘要: 一. 前言 说起缓存,业内有句话,架构师有一半以上的时间是在和缓存打交道。那么缓存到底是什么呢?又有什么作用呢?该系列将揭开缓存神秘的面纱,从零开始,由浅入深,细究各类缓存。 缓存我个人理解,是利用空间换时间最好的体现,将一些耗时操作(复杂的数据库查询、文件内容的读取)、不经常改变的数据(比如商城的 阅读全文
posted @ 2017-07-22 11:18 Yaopengfei 阅读(808) 评论(1) 推荐(0)
摘要: 一. 安装流程 1. 软件和环境 (1). 软件 : SQL Server 2008 R2 企业版 软件下载地址:https://msdn.itellyou.cn/ (2). 环境要求: .Net FrameWork 3.5 以上 (windows 7 和 windows Server 2008 及 阅读全文
posted @ 2017-07-18 16:21 Yaopengfei 阅读(2636) 评论(1) 推荐(0)
摘要: 1. 打开服务器管理器,点击【添加角色和功能选项】。 2. 进入“添加角色和功能向导”页面,点击下一步。 3. 安装类型选择【基于角色或基于功能的安装】,点击下一步。 4. 进入服务器选择页面,选择【从服务器池中选择服务器】,点击下一步。 5. 进入服务器角色界面后,找到WEB服务器(IIS),然后 阅读全文
posted @ 2017-07-18 11:28 Yaopengfei 阅读(7464) 评论(0) 推荐(1)
摘要: 一. MySQL的备份和恢复 1. 命令行导入导出SQL 通过管理员的身份cmd命令进入dos窗口。 (1). 导出命令: mysqldump -u账户 -p密码 数据库名称>脚本文件存储地址 。 eg:mysqldump -uroot -p123456 ypftest> C:/XXXX.sql ( 阅读全文
posted @ 2017-07-16 23:42 Yaopengfei 阅读(765) 评论(1) 推荐(0)
摘要: 一. 插入 1. 全字段插入 (1). 标准格式 insert into tableName (c1,c2,c3 ...) values (x1,x2,x3,...) 可以省略: insert into tableName values (x1,x2,x3,...) (2). 插入多条数据 inse 阅读全文
posted @ 2017-07-16 23:41 Yaopengfei 阅读(377) 评论(0) 推荐(0)
摘要: 一. 综述 查询操作主要从两个方面来说:单表查询和多表查询。 多表查询包括:笛卡尔积、外键约束、内连接查询、外链接查询、自连接查询。 二 . 案例设计 1. 设计产品表(product)。包括:主键id、产品名称(productName)、分类编号(dir_id)、零售价(salePrice)、供应 阅读全文
posted @ 2017-07-16 22:26 Yaopengfei 阅读(508) 评论(0) 推荐(0)
摘要: 一. 前言 1. 简介 就查询而言,可以简单的分为:单表查询 和 多表查询。 单表查询包括:简单查询、过滤查询、结果排序、分页查询、聚集函数。 多表查询包括:笛卡尔积、外键约束、内连接查询、外链接查询、自连接查询。 2. 数据准备 (1). 用到的表: 产品表(product)。包括:主键id、产品 阅读全文
posted @ 2017-07-15 11:53 Yaopengfei 阅读(1588) 评论(3) 推荐(0)
摘要: 一. MySQL操作 1. 数据库相关操作 (1). 查看有哪些数据库: show databases; (2). 使用指定数据库: use 数据库名称; (3). 查看指定数据库中有哪些表: show tables; (4). 创建指定名称的数据库: create database 数据库名称; 阅读全文
posted @ 2017-07-15 10:00 Yaopengfei 阅读(448) 评论(1) 推荐(0)