自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 EF CORE 使用过程中常见的错误

EF CORE 使用过程中常见的错误问题:Your startup project ‘NetCore.3.Project’ doesn’t reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and t

2021-02-25 19:00:28 4638 1

原创 Sqlserver 常用语句

Sqlserver 常用语句0. 创建表1. 语句新增字段2. sqlserver用语句给表注释(修改用:sp_updateextendedproperty )3. sqlserver用语句给表的“字段”注释(修改用:sp_updateextendedproperty )4. 查询表字段详细信息5. 查询表详细信息0. 创建表create table demo( id int not null primary key, name varchar(20) not null)1. 语句新增字段

2021-02-21 19:21:55 247

原创 EF 三种加载方式

EF 三种加载方式一、定义二、通过日志查看ef执行过程中的语句三、延迟加载、懒加载(Lazy Loading)四、立即加载、贪婪加载、预加载(Eager Loading)五、显示加载(Explicit Loading)一、定义EF数据加载三种方式:延迟加载、饥饿加载、显示加载(EF中默认是开启延迟加载)延迟加载(Lazy Loading) 和淘宝的商品列表一样,下拉刷新,按需加载。饥饿加载 (Eager Loading) 加载父对象时同时加载子对象。显式加载 (Explicitly Loadi

2021-01-22 16:50:42 1679

原创 高内聚、低耦合

什么是高内聚、低耦合? 起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内 聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。 模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。 模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 耦合性分类(低――高)...

2021-01-22 11:19:43 136

原创 VS2019 常用快快捷键

代码操作相关快捷键Ctrl + K + C :注释代码Ctrl + K + U :取消注释代码Ctrl + K + F :格式化页面代码Ctrl + K + D :格式化页面代码Alt + Shift + 箭头键(←,↑,↓,→) :选择代码的自定义部分Ctrl + M + O :折叠所有方法Ctrl + M + P :展开所有方法并停止大纲显示(不可以再折叠了)Ctrl + M + M :折叠或展开当前方法Ctrl + M + L :展开所有方法...

2021-01-22 11:19:37 1801

原创 Ajax请求中cache属性

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2021-01-22 11:19:25 254

原创 数据库中的数据类型之SQLSERVER

数据库中的数据类型charchar [(n)]存储固定长度的非Unicode字符串数据。n定义字符串长度,并且必须是1到8,000之间的值。存储大小为n个字节。char是定长的,比如设置数据类型为char(10),输入’ABC’,后面会有7个空字符,当读取数据时,就要用到trim()。而当字符数超出规定的数据类型长度,则截取超出的字符 。varcharvarchar [(n | max)]存储可变长度的非Unicode字符串数据。n定义字符串长度,可以是1到8,000之间的值。max表示最

2021-01-22 11:19:19 281 2

原创 Cent OS 7 安装 Redis

Cent OS 7 安装 Redis关于Cent OS 连接不了网络安装Redis关于Cent OS 连接不了网络点击虚拟机的编辑按钮,选择虚拟网络编辑器,点击右下角的更改设置之后,点击还原默认设置,之后重新启动就可以。安装Redis首先在Redis的官方网站下载redis的linux安装包。利用xftp将文件上传到usr/local文件夹。安装gcc依赖 yum install -y gcc 第一二不也可以直接用命令下载wget http://download.redis.

2021-01-22 11:19:10 137

原创 .Net-泛型的应用(Generic)

.Net-泛型的应用(Generic)1.发现问题:泛型引入之前对于同一个方法传递不同参数的处理2.引入泛型什么是泛型?泛型的特性?泛型的性能测试?泛型约束1.发现问题:泛型引入之前对于同一个方法传递不同参数的处理这里举个例子:public class CommonMethod{ /// <summary> /// 打印个int值 /// </summary> /// <param name="sParameter"></param> pub

2021-01-22 11:19:02 248 2

原创 C# 协变和逆变

C# 协变和逆变官方解释如下:“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。一、协变(Covariance)1、out关键字对于泛型类型参数,out 关键字可指定类型参数是协变的。可以在泛型接口和委托中使用 out 关键字。2.什么是协变?协变就是对具体成员的输出参数进行一次类型转换,且类型转换的准则是 “里氏替换原则”。二、逆变(Contravariance)1、in关键字对于泛型类型参数,in 关键字可指定类型参数是逆

2021-01-22 11:18:54 90

原创 C# 装箱与拆箱

1、装箱和拆箱的基本概念我们知道,所有的值类型都继承自System.ValueType,而System.ValueType继承自System.Object。所有的值类型对象都分配在栈上,而所有的引用类型包括System.Object对象都分配在堆上。问题随之而来,既然System.Object是所有值类型的基类,那所有的值类型必然都可以隐式的转换成System.Object类型,此时这个对象会被放在哪里呢,栈上面还是堆上面?实际上,当这个转换发生时,CLR需要做额外的工作把栈上的值类型移动到堆上,这个操作

2021-01-22 11:18:48 657

原创 JWT 的动态刷新

JWT 的定义有关jwt的定义资料没有具体写,关于具体的原理及理论点,想了解的可以点击下面两个连接去了解,写的不错,比较完善。什么是 JWT – JSON WEB TOKEN.认识JWT.使用过程中遇到的问题这里主要讲一下,JWT的动态刷新,默认的话设置的过期时间比较长,存在两个问题:3. JWT的过期时间设置太短,那么意味着过期的频率高,又可能用着用着就过期了,一般过期之后就会强制重新登录,重新获取新的JWT,进行访问后台的签名验证,这样可能造成用着用着就退出到登录页面了,用户体验不好。

2021-01-22 11:18:41 1687 1

原创 C# 栈和堆 Heap & Stack

C# 栈和堆 Heap & Stack首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)1.栈stack栈中存储值类型。栈实际上是向下填充,即由高内存地址指向低内存地址填充。栈的工作方式是先分配内存的变量后释放(先进后出原则)。栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与变量的生命周期起冲突!栈的性能非常高,但是对于所有的变量来说还不太灵活,而且变量的生命周期必须嵌套。通常我们希望使用一种方法分配内存来存储数据,并且方法退出后

2021-01-22 11:18:32 181

原创 C# 特性(Attribute)

C# 特性(Attribute)特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net 框架提供了两种类型的特性:预定义特性和自定义特性。添加特性之后会在对应的位置添加特性中的代码,我们是看不到的,通过反编译查看IL中间语言可以查看。

2021-01-22 11:18:25 1034

原创 C# 反射(Reflection)

c#之反射(Reflection)首先说一下反射的优点:动态!!!首先了解一下C#编译运行过程,大致如下所示:首先被编译器编译成dll/exe,一般我们发布的都是这个东西,然后在运行的时候会被CLR/JIT编译成机器码。为什么不直接通过编译器编译成机器码呢?答案就是:通过CLR/JIT可以根据不同的平台编译成不同的机器码,用以一次编译多平台运行。而我们通过反射处理的就是matadata这一块,里面包含了我们写的类文件,方法等等。微软提供的反射工具主要是 System.Reflection。反

2021-01-22 11:18:17 200

原创 C# 委托(Delegate)和事件(Event)

C# 委托(Delegate)和事件(Event)委托:是一个类,继承自System.MulticastDelegate,里面内置了几个方法。委托可以写在类里面,也可以写在类的外面。 // 委托可以写在类的外面 public delegate void NoReturnNoParaOutClass(); public class MyDelegate { // 也可以写在类里面 public delegate void NoReturnNoPara<T>(T t);

2021-01-22 11:18:07 276

原创 Sqlserver 事务

Sqlserver-事务事务的概念:简单说就访问并可能更新数据库中各种数据项的一个程序执行单元,一旦开启事务,所有对数据的操作要么全部执行,要么全部都不执行。单条sql语句本身就是一个事务。事务的属性:事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为原子性(Atomic)、 一致性(Consistent)、隔离性(Isolated)、持久性(Durable),简称ACID属性,只有这样才能构成一个事务。原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,

2021-01-22 11:18:00 520

原创 Sqlserver 字段类型

Sqlserver 字段类型bit 整型 bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True或False 、On 或Off. 注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。tinyint 整型tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节.注意:如果bit类型太单调不能满足您的需求,您可以考虑用tinyint类型,

2021-01-22 11:17:52 1340 1

原创 C# 面向对象

一 面向过程(PO)例如:把大象放进冰箱这件事? 在面向过程的情况下:就是打开冰箱门,然后将大象放进去,然后关上门。这个流程比较简单,如果流程复杂,明显可以发现这个并不适合代码的编写,所以就有了面向对象。二 面向对象(OO)同样是把大象装进冰箱这件事? 在面向对象的情况下:会把大象和冰箱都当做对象来处理 大象:有放进冰箱的方法 冰箱:有开门关门的方法实现的时候调用对应的方法即可,每个对象的具体方法实现可能还是面向过程,但是针对整个程序而言,是面向对象的。二 面向切面(AOP)面向对象

2021-01-22 11:17:40 677 4

原创 C# IO和Serialize

C# IO和SerializeSystem.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。 // 判断文件夹是否存在 Directory.Exists(filePath) // 文件夹的创建 DirectoryInfo directoryInfo = Directory.CreateDirectory(filePath);//一次性创建全部的子路径 Directory.Move(filePath, fileMovePath);//移动 原文件夹就不

2021-01-22 11:17:34 94

原创 C# Linq,扩展方法,迭代器,Lambda

C# Linq,扩展方法,迭代器,Lambda1.匿名类:假设存在Student实体表。 // 第一种: Student student = new Student(); student.Id = 1; student.Name = "大水治禹"; student.Age = 25; student.ClassId = 2; // 第二种: Student student = new Student() { Id = 1, Name = "

2021-01-22 11:17:27 162

转载 C# 进程-线程-多线程,同步和异步

C# 进程-线程-多线程,同步和异步什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多

2021-01-22 11:17:19 204

原创 C# 迭代器(yield)

C# 迭代器(yield)yield return 表示在迭代中下一个迭代时返回的数据,除此之外还有yield break, 其表示跳出迭代。 /// <summary> /// 迭代器:Yield /// </summary> public class YieldDemo { /// <summary> /// 想要迭代,必须返回 IEnumerable 类型, 使用迭代器之后会一个一个的取,按

2021-01-22 11:17:13 271

原创 C# 数据结构(DataStructure)

C# 数据结构(DataStructure)一:数组Array:在内存上连续分配的,而且元素类型是一样的,可以坐标访问;读取快但是增删慢,总长度不变。 public void ArrayFun() { Console.WriteLine("***************Array******************"); int[] intArray = new int[3]; intArray[0] = 123; intArray[1] = 456;

2021-01-22 11:17:07 1183

原创 C# 六大设计原则

一、单一职责原则(SRP)链接: 六大设计原则对于一个类而言,应该只有一个发生变化的原因。(单一职责不仅仅是指类)。单一职责原则的优点就是高内聚,使得模块看起来有目的性,结构简单,修改当前模块对于其他模块的影响很低。缺点就是如果过度的单一,过度的细分,就会产生出很多模块,无形之中增加了系统的复杂程度。拆分之后,职责变得单一。阅读简单,易于维护;扩展升级,减少修改,直接增加类;方便代码重用的;二、里氏替换原则(LSP)一个程序中如果使用的是一个父类,那么该程序一定适用于其子类,而且程序

2021-01-22 11:16:59 401

原创 Sqlerver 锁和隔离级别

Sqlserver 锁概念: 共享 (S) :用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。更新 (U) :用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。排它 (X) :用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。增删改查使用: SELECT 语句默认会产生共享锁,该锁查询完就释放,不需要等待所在的事务提交。UPDATE 语句先使用更新锁锁定数据,然后升

2021-01-22 11:16:52 195

原创 Sqlserver 存储过程以及存储过程在ADO.NET和EF中的使用

Sqlserver 存储过程存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。以前存储过程流行:跟技术体系有关;流量低并发少,业务比较复杂,更多的让数据库完成就行了。存储过程不好维护;逻辑分散了;不好管理;全部数据库操作;(代码中可以有版本控制,代码不好管理,当然也可以把代码保存到git)少用,大量复杂的逻辑、计算、数据传输,可以用,否则还是程序来完成。 例如:统计报表的数据统计,可以使用存储过程在数据库中统计好数

2021-01-22 11:16:44 311

原创 Sqlserver 触发器

Sqlserver 触发器概念:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。触发器和存储过程的区别:触发器与存储过程的区别是运行方

2021-01-22 11:16:37 156 1

原创 Sqlserver char varchar nvarchar区别

很多开发者进行数据库设计的时候往往并没有太多的考虑char,varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便选一个。在这里我想对他们做个简单的分析,当然如果有不对的地方希望大家指教。CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义cha.

2021-01-22 11:16:28 154 2

原创 Sqlserver 生僻字

Sqlserver 生僻字插入出现生僻字:加上 N就正确了:查询方法:既要显示正确又要正确查询解决办法select * from db_owner.systemMember where memberNamelike N’%秦䶮%’ collate Chinese_PRC_BIN 使用强制定义字符集排序 后因为使用的时linq tosql查询,没法指定字符集排序。后将单表内但单字段的字符集排序从Chinese_PRC_CI_AS改为了Chinese_PRC_BIN进行查询正确。(此处

2021-01-22 11:16:20 1834 1

原创 Git安装及使用

Git安装及使用1.下载2.安装3.环境配置4.生成ssh5.Github添加 ssh6.本地配置多个ssh key7. 实际使用1.下载1.百度git官网,下载链接,根据自己电脑系统下载相应的安装包。2.安装1.下载好之后,一直点击next,直到出现install,点击install,安装完成后点击finish。2.安装好后在桌面界面点击鼠标右键,会出现如下界面:3.进入上图的Git Base Here 或者 Win+R 弹出框中出入cdm,弹出如下界面,输入git,回车:3

2021-01-22 11:15:21 87

原创 ASP.NET中Session的sessionState 4种mode模式

ASP.NET中Session的sessionState 4种mode模式在ASP.NET中Session的sessionState的4中mode模式:Off、InProc、StateServer及SqlServer。Off模式关闭模式,即不需要使用Session单个页面关闭Session:<%@ Page EnableSessionState="false" %><configuration> <system.web> <session

2021-01-22 11:15:04 312

原创 DotNetCore 进程内与进程外

DotNetCore 进程内与进程外ASP.NET Core 默认进程ASP.NET Core 2.2 由默认的进程外,所以需要我们指定下项目文件中的进程信息。而从ASP.NET Core 3.X开始,dotnet开发团队又将它修改为了进程内。应该说最早.NET Core就不支持进程内,所以也是慢慢迭代到支持进程内的。所以请记住:ASP.NET Core 2.X及以前默认是进程外托管。ASP.NET Core 3.X默认为进程内托管。ASP.NET Core的进程内托管使用 InP

2021-01-22 11:14:50 366

原创 Sqlserver 的增删改查

SqlserverC#中数据库连接的配置文件<configuration> <connectionStrings> <add name="myconn" connectionString="Data Source=.;Initial Catalog=Northwind; Persist Security Info=True;User ID=sa;Password=110"/> </connectionStrings>&l

2021-01-22 11:12:07 141

原创 C# 编程常用单词

编程常用单词C#C#一 .访问修饰符public : 访问不受限制,可以类内和任何类外的代码中访问。protected : 可访问域限定于类内或从该类派生的类内。internal : 可访问域限定于类所在的程序集内。protected internal : protected或者internal,即可访问域限定于类所在的程序或那些由它所属的类派生的类内(外部继承之后可以访问,否则就只有程序集内部可以访问)。private : 可访问域限定于它所属的类内。二.类或属性interf

2021-01-22 11:11:47 782

原创 AJAX 相关知识

一:简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。核心是 XMLHttpRequest 对象用于和服务器交换数据。二:ajax 标准写法$.ajax({ url:"http://www.microsoft.com", //请求的url地址 dataType:"json", //返回格式为json

2021-01-22 11:10:45 68

原创 Oracle 的增删改查

Oracle 在MVC中的使用1. 添加引用添加 System.Data.OracleClient(已过时),或者添加 Oracle.Dataaccess.dll 在oracle 安装目录中有。2. 配置连接字符串 <connectionStrings> <add name="Oracle" connectionString="Data Source=orcl;User ID=oracle;password=123456" /> </connectio

2021-01-18 16:32:04 448

原创 动态封装查询条件之原生SQL语句方式

动态封装查询条件这一篇写的是使用原生SQL语句的方式(纯原生sql语句,或者使用Dapper等orm框架也可以使用)。上一篇: Layui Table 重载封装:讲了如何传递查询数据。#region 查询条件自动匹配/// <summary>/// 查询条件匹配 /// <para>根据&&拆分字段,&&前为查询方式,没有&&,就是直接等号匹配,like&&字段,&&前为like,表示模糊查询

2020-09-18 15:50:12 652

原创 Layui Table 重载封装

Layui Table 重载封装近期工作中前端使用到了layui的 table ,就避免不了数据的查询,所以就封装可一个通用的重载方法。后台动态组装条件layui.define(['table'], function (exports) { var $ = layui.$ , layer = layui.layer , laytpl = layui.laytpl , setter = layui.setter , view = l

2020-09-18 15:34:12 779

原创 菜单,字典,等多层级关系的数据排序

菜单,字典,等多层级关系的数据排序前言:搭建后台管理网站菜单管理页面的时候,涉及到菜单的一个排序,一开始的设计是,用数字排序,新增的时候,查找最大的加一,但是这样,对于多层级的排序不方便,如果中途删除一个菜单,重排序也不方便。所以使用字母排序(有一个弊端就是A-Z,同一层级只能有26的节点,后续会考虑解决这个问题)图中的排序直接使用数据库排序,就会自动按顺序排,无需考虑其他逻辑。例如:图中的排序是自动生成的,方便比较,菜单名称等一开始我写成了与排序一样的文本,方便后期删除之后的对比,还有拖动排序之后的

2020-09-13 22:59:55 849

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除