随笔- 672
文章- 2
评论- 325
阅读-
281万
10 2018 档案
SQL Server在本地计算机上用SSMS(SQL Server Management Studio)登录不上,错误消息:(Microsoft SQL Server, Error: 18456)
摘要:今天遇到了一个奇怪的问题,公司目前在SQL Server上都采用AD域账号登录,由于账号人数众多,所以我们建立了一个AD Group(域组),将大家的AD账号加入了这个AD Group,然后我们将这个AD Group设置为了SQL Server的账号。按道理说所有在这个AD Group的AD账号都应
阅读全文
HttpWebRequest类,及如何使用Cookie(转载)
摘要:HttpWebRequest类与HttpRequest类的区别。HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息。而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等。HttpWebRequest这个类非常强大,强大的地方
阅读全文
C#中HttpWebRequest的用法详解(转载)
摘要:1、HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。2、命名空间:System.Net3、HttpWebRequest对象不是利用new关键字创建的(通过构造函数)。 而是利用Create()方法创建的。4、你可能预计需要显示地调用一个“Send
阅读全文
SQL Server 2012 列存储索引分析(转载)
摘要:一、概述 列存储索引是SQL Server 2012中为提高数据查询的性能而引入的一个新特性,顾名思义,数据以列的方式存储在页中,不同于聚集索引、非聚集索引及堆表等以行为单位的方式存储。因为它并不要求存储的列必须唯一,因此它可以通过压缩将重复的列合并,从而减少查询时的磁盘IO,提高效率。为了分析列存
阅读全文
EF Core 中DbContext不会跟踪聚合方法和Join方法返回的结果,及FromSql方法使用讲解
摘要:EF Core中: 如果调用Queryable.Count等聚合方法,不会导致DbContext跟踪(track)任何实体。 此外调用Queryable.Join方法返回的匿名类型也不会被DbContext所跟踪(实测调用Queryable.Join方法返回EF Core中的实体类型也不会被DbCo
阅读全文
.NET Core中基类可以反射子类的成员
摘要:我们定义一个类DemoA,再定义一个类DemoB继承DemoA。当构造一个DemoB类对象后,我们可以通过其调用基类DemoA中的方法来反射子类DemoB的成员。 新建一个.NET Core控制台项目,其代码如下: 执行上面的代码,结果如下所示: 可以看到DemoA类的DisplayProperti
阅读全文
.NET Core中NETSDK1061错误解决(转载)
摘要:NETSDK1061错误解决 在vs生成和运行都正常,发布的时候报错 .netcore控制台项目引用另一个类库 错误信息 解决办法 用记事本打开所有项目的.csproj项目文件,在所有项目的项目文件中加上<TargetLatestRuntimePatch>true</TargetLatestRunt
阅读全文
为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
摘要:项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件。。。为不是一个exe的可执行文件: 后来了解到.NET Core的项目分为两种发布方式,一种叫Framework-dependent deployments (FDD),还
阅读全文
SQL Server 子查询错误:No column name was specified for column 2 of 'a' error (转载)
摘要:问: I have a MySQL query and I ran it working fine but same query showing error in SQL Server. SQL Server query: Error: How do I modify the above query
阅读全文
如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)
摘要:1. Concurrency的作用 场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, 性别是male 这个时候A发现User的年龄不对, 就给改成25, 那么在Entity Framew
阅读全文
EF Core 中多次从数据库查询实体数据,DbContext跟踪实体的情况
摘要:使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下。 数据库 首先我们的数据库中有一个Person表,其建表脚本如下: 其中ID是自增的主键,Name是一个Person的名字,Age是一个Person的年龄
阅读全文
ASP.NET Core MVC中的IActionFilter.OnActionExecuted方法执行时,Controller中Action返回的对象是否已经输出到Http Response中
摘要:我们在ASP.NET Core MVC项目中有如下HomeController: 其代码非常简单,HomeController只有两个Action: Index这个Action,输出一个简单的网页供测试 GetJson这个Action,输出一个Json对象到客户端浏览器 现在我们在浏览器上输入Url
阅读全文
ASP.NET Core MVC中Controller的Action如何直接使用Response.Body的Stream流输出数据
摘要:在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让用户下载,那么在Controller的Action中用Response.Body这个Stream流,
阅读全文
ASP.NET Core 如何设置发布环境
摘要:在ASP.NET Core中自带了一些内置对象,可以读取到当前程序处于什么样的环境当中,比如在ASP.NET Core的Startup类的Configure方法中,我们就会看到这么一段代码: public void Configure(IApplicationBuilder app, IHostin
阅读全文
C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)
摘要:这些是C#中的条件编译符号。这些指令我在项目中遇到过,查过网络,问过人(当然,既不认识大牛,也不认识小牛,所以没什么收获)。今天翻看一本资料,有提到这个方面的东西,所以写下来和能看到这篇文章的人一起学习。 C#中的#define预处理指令不能定义替换常数。该指令现在只能定义用于条件编译的符号,为#i
阅读全文
C#中如果用await关键字来await一个为null的Task对象会抛出异常
摘要:await & async模式是C#中一个很重要的特性,可以用来提高异步程序(多线程程序)的执行效率。但是如果尝试用await关键字来await一个为null的Task对象,会导致程序抛出NullReferenceException异常。 新建一个.NET Core控制台项目,贴入如下代码: 输出结
阅读全文
为何使用Microsoft SQL Server Management Studio连接Integration Services服务失败
摘要:检查是否满足以下各项: 1. 首先你要确保当前你使用的Windows账号是有管理员权限的 2. 其次请在打开Microsoft SQL Server Management Studio时,通过右键Run as administrator来打开 3. 如果还是连不上,并且此时你遇到的错误消息类似如下:
阅读全文
EF Core中如何正确地设置两张表之间的关联关系
摘要:数据库 假设现在我们在SQL Server数据库中有下面两张表: Person表,代表的是一个人: 其主键是ID,而且主键是自增列。Person表还有个PersonCode列是唯一键,然后Name和Age列用来描述一个人的名字和年龄。 Book表,代表的是一本书: 其主键是ID,而且主键也是自增列。
阅读全文
EF Core中外键关系的DeleteBehavior介绍(转自MSDN)
摘要:Delete behaviors Delete behaviors are defined in the DeleteBehavior enumerator type and can be passed to the OnDelete fluent API to control whether th
阅读全文
SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据
摘要:ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢? 使用SQL Server内置的全局变量@@ROWCOUNT即可,@@ROWCOUNT可以返回在当前数据库连接(SqlConnection)中,执行的上一条SQL语句影
阅读全文
ASP.NET Core Middleware (转载)
摘要:What is Middleware? Put simply, you use middleware components to compose the functionality of your ASP.NET Core application. Anything your application
阅读全文
WebSocket的原理,以及和Http的关系 (转载)
摘要:一、WebSocket是HTML5中的协议,支持持久连接;而Http协议不支持持久连接。 首先HTMl5指的是一系列新的API,或者说新规范,新技术。WebSocket是HTML5中新协议、新API. Http协议本身只有1.0和1.1,也就是所谓的Keep-alive,把多个Http请求合并为一个
阅读全文
ASP.NET Core 中的 WebSocket 支持(转自MSDN)
摘要:本文介绍 ASP.NET Core 中 WebSocket 的入门方法。 WebSocket (RFC 6455) 是一个协议,支持通过 TCP 连接建立持久的双向信道。 它用于从快速实时通信中获益的应用,如聊天、仪表板和游戏应用。 如果不明白什么是WebSocket可以参考这篇文章 系统必备 AS
阅读全文
If TransactionScope will close database connections
摘要:问 Do TransactionScope work with closed database connections? 答 Yes, that should work fine. Internally, the connections should be kept open until the t
阅读全文
EF Core 2.1 支持数据库一对一关系
摘要:在使用EF Core和设计数据库的时候,通常一对多、多对多关系使用得比较多,但是一对一关系使用得就比较少了。最近我发现实际上EF Core很好地支持了数据库的一对一关系。 数据库 我们先来看看SQL Server数据库中的表: Person表代表的是一个人,表中有些字段来简单描述一个人,其建表语句如
阅读全文
EF Core 2.0 已经支持自动生成父子关系表的实体
摘要:现在我们在SQL Server数据库中有Person表如下: 语句中有一个外键FK_Person_Person,关系是[Person].[ParentCode]指向[Person].[Code],这是一个典型的父子关系表,[Person]表的一行数据属于另一行数据,关系可以无限递归。 现在我们使用E
阅读全文
Solving the SQL Server Multiple Cascade Path Issue with a Trigger (转载)
摘要:Problem I am trying to use the ON DELETE CASCADE option when creating a foreign key on my database, but I get the following error: This tip will look
阅读全文
EF Core 2.0中如何手动映射数据库的视图为实体
摘要:由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动映射数据库的视图为实体。 假设我们在SQL Server中有如下数据库视图[dbo].[V_Pers
阅读全文
C#中如果类的扩展方法和类本身的方法签名相同,那么会优先调用类本身的方法
摘要:新建一个.NET Core项目,假如我们有如下代码: 我们可以在VisualStudio中看到demo.GetNumber方法有一个重载: 一个是Demo类中定义的GetNumber方法,还有个是DemoExtension类中定义的GetNumber扩展方法,那么我们在调用demo.GetNumbe
阅读全文
SQL Server中ORDER BY后面可以是表达式和子查询
摘要:假如SQL Server数据库中现在有Book表如下 有如下数据: 我们使用SELECT语句查询该表,如下所示: 现在设想一个问题,我们如何根据[BookName]和[BookDescription]两列数据的联合值来对结果进行排序呢? 我想很多人都会想到用子查询,如下所示: 像上面这样用子查询的确
阅读全文
EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响
摘要:数据库 我们先在SQL Server数据库中建立一个Book表: 然后插入如下数据: 查询Book表的数据,如下图所示: 现在我们使用EF Core将Book表映射到.NET Core控制台项目中的Book实体上,Book实体如下所示: 不使用事务 然后我们在.NET Core控制台项目Progra
阅读全文
Parallel.ForEach使用示例
摘要:新建一个.NET Core控制台程序,代码如下: 执行后结果如下: 因为Parallel.ForEach为并行执行,所以再次执行时6个数字出现的顺序可能会不一样。
阅读全文
Entity Framework中DbContext结合TransactionScope提交事务的正确方式
摘要:问: I would like know what is the best possible way to implement transactions with DBContext. In particular, 答: Example: 从上面的代码我们可以看出来在Entity Framework
阅读全文
SQL Server中事务transaction如果没写在try catch中,就算中间语句报错还是会提交
摘要:假如我们数据库中有两张表Person和Book Person表: Book表: 可以看到Person表和Book表是一对多关系,一个Person可以有多个Book,所以Book表的PersonCode列是外键,指向Person表的Code列,并为强制约束,也就是说Book表的PersonCode列的
阅读全文
EF Core中Key属性相同的实体只能被跟踪(track)一次
摘要:在EF Core的DbContext中,我们可以通过DbContext或DbSet的Attach方法,来让DbContext上下文来跟踪(track)一个实体对象,假设现在我们有User实体对象,其UserCode为Key属性: 现在我们使用DbSet的Attach方法将两个UserCode都为"U
阅读全文
在Entity framework中使用事务
摘要:默认情况下,当EF调用SaveChanges()时,会把生成的所有SQL命令“包”到一个“事务(transaction)”中,只要有一个数据更新操作失败,整个事务将回滚。在多数情况下,如果你总在数据更新操作代码中使用一个而不是多个DbContext对象,并且只是在最后调用一次SaveChanges(
阅读全文
SQL Server 2016 中有外键的表无法被Truncate,只能被Delete
摘要:问: I get the following message even when the table that references it is empty: "Cannot truncate table 'dbo.Link' because it is being referenced by a
阅读全文
C#中Lambda表达式类型Expression不接受lambda函数
摘要:在EF Core中我们经常会用System.Linq.Expressions系统命名空间的Expression<TDelegate>类型来作为EF Core的查询条件,比如: using EFLambdaExpression.Entities; using System; using System.
阅读全文
Non-Nullable Types vs C#: Fixing the Billion Dollar Mistake (转载)
摘要:One of the top suggestions (currently #15 on uservoice) for improving C# is the addition of non-nullable reference types. This is not surprising, cons
阅读全文
C# 6.0 的?.运算符
摘要:What is it? Here’s the scenario Consider getting the grandchild of a parent object like this: var g1 = parent.child.child.child; 很明显parent类里面有一个child类
阅读全文
在SQL Server中用好模糊查询指令LIKE (转载)
摘要:like在sql中的使用:在SQL Server中用好模糊查询指令LIKE;查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇 一、一般搜索条件中用Like之处在于其提供的模糊查询功能,通过与它相匹配的四大类通配符,like放在条件中
阅读全文
.NET 中 如果一个Task A正在await另一个Task B,那么Task A是什么状态
摘要:新建一个.NET Core控制台程序,输入如下代码: 执行结果如下: 上面代码中Task.Run是调用的public static Task Run(Func<Task> function)重载方法,可以看到Task.Run返回的outerTask其Task ID为2,但是执行Task.Run参数中
阅读全文
C# 类中的静态字段始终继承自基类
摘要:我们试想一下现在有一个类Parent,它有一个static的int类型字段number,然后如果类Parent有三个子类Child01、Child02和Child03,那么改变Parent.number的值的话,Child01.number、Child02.number和Child03.number
阅读全文
ASP.NET Core 2.0中如何更改Http请求的maxAllowedContentLength最大值
摘要:Web.config中的maxAllowedContentLength这个属性可以用来设置Http的Post类型请求可以提交的最大数据量,超过这个数据量的Http请求ASP.NET Core会拒绝并报错,由于ASP.NET Core的项目文件中取消了Web.config文件,所以我们无法直接在vis
阅读全文
ASP.NET Core MVC如何上传文件及处理大文件上传
摘要:用文件模型绑定接口:IFormFile (小文件上传) 当你使用IFormFile接口来上传文件的时候,一定要注意,IFormFile会将一个Http请求中的所有文件都读取到服务器内存后,才会触发ASP.NET Core MVC的Controller中的Action方法。这种情况下,如果上传一些小文
阅读全文
ASP.NET Core MVC的路由参数中:exists后缀有什么作用,顺便谈谈路由匹配机制
摘要:我们在ASP.NET Core MVC中如果要启用Area功能,那么会看到在Startup类的Configure方法中是这么定义Area的路由的: 我们可以看到其中{area:exists}和{subarea:exists}这两个路由参数后面都有个:exists后缀,那么这是用来干什么的呢? 来举个
阅读全文
EF Core 2.1 中的 Eager loading、Explicit loading和LazyLoading (转自MSDN)
摘要:Entity Framework Core allows you to use the navigation properties in your model to load related entities. There are three common O/RM patterns used to
阅读全文
C# 5.0中使用CallerMemberName、CallerFilePath和CallerLineNumber获取代码的调用方信息(转载)
摘要:很多时候,我们需要在运行过程中记录一些调测的日志信息,如下所示: 上面TraceMessage("DoProcessing()被XXX调用")中的XXX我们获取不到,导致日志记录不完全。 此外为了调测方便,除了事件信息外,我们往往还需要知道发生该事件的代码位置以及调用栈信息。在C++中,我们可以通过
阅读全文
EF Core中怎么实现自动更新实体的属性值到数据库
摘要:我们在开发系统的时候,经常会遇到这种需求数据库表中的行被更新时需要自动更新某些列。 数据库 比如下面的Person表有一列UpdateTime,这列数据要求在行被更新后自动更新为系统的当前时间。 Person表: 我们还有一个Book表,它没有UpdateTime列,那么这个表的数据在行更新时不要求
阅读全文
ASP.NET Core中怎么实现Url rewrite功能
摘要:我们可以使用ASP.NET Core的中间件来实现Url rewrite功能,下面我们定义一个中间件ReplaceQueryStringMiddleware来替换Http请求中的Url参数即QueryString,这相当于就是要用到以前ASP.NET的Url rewrite功能。 中间件Replac
阅读全文
ASP.NET Core 运行原理剖析 (转载)
摘要:1.1. 概述 在ASP.NET Core之前,ASP.NET Framework应用程序由IIS加载。Web应用程序的入口点由InetMgr.exe创建并调用托管。以初始化过程中触发HttpApplication.Application_Start()事件。开发人员第一次执行代码的机会是处理App
阅读全文
EF Core中如何通过实体集合属性删除从表的数据
摘要:假设在数据库中有两个表:Person表和Book表,Person和Book是一对多关系 Person表数据: Book表数据: 可以看到数据库Book表中所有的数据都属于Person表中"F"这个人 Person表,下面的Person类是该表在EF Core中的实体类型: public partia
阅读全文
Many-to-many relationships in EF Core 2.0 – Part 4: A more general abstraction
摘要:In the last few posts we saw how to hide use of the join entity from two entities with a many-to-many relationship. This post doesn’t add any addition
阅读全文
Many-to-many relationships in EF Core 2.0 – Part 3: Hiding as ICollection
摘要:In the previous post we ended up with entities that hide the join entity from the public surface. However, it was not possible to add or removed entit
阅读全文
Many-to-many relationships in EF Core 2.0 – Part 2: Hiding as IEnumerable
摘要:In the previous post we looked at how many-to-many relationships can be mapped using a join entity. In this post we’ll make the navigation properties
阅读全文
Many-to-many relationships in EF Core 2.0 – Part 1: The basics
摘要:转载这个系列的文章,主要是因为EF Core 2.0在映射数据库的多对多关系时,并不像老的EntityFramework那样有原生的方法进行支持,希望微软在以后EF Core的版本中加入原生支持多对多关系的Fluent API,这样这个系列的文章就不需要看了~ As of EF Core 2.0,
阅读全文
EF Core如何输出日志到Visual Studio的输出窗口
摘要:我们在使用EF Core的时候,很多时候需要在Visual Studio的输出窗口中知道EF Core在后台生成的SQL语句是什么,这个需求可以通过自定义EF Core的ILoggerFactory和ILogger类来实现: 首先定义一个实现了ILogger接口的类EFLogger,主要目的是将EF
阅读全文
EF Core怎么只Update实体的部分列数据
摘要:下面是EF Core中的一个Person实体: 其中我们通过Fluent API指定了Code是Key属性,用来Update和Delete数据(包括DbSet的Contains方法也是查找的实体的Key属性值): 现在我们可以通过代码先new一个Person实体,然后声明其Key属性列Code的值,
阅读全文
EF Core 2.0中怎么用DB First通过数据库来生成实体
摘要:要在EF Core使用DB First首先要下载三个Nuget包,在Nuget的Package Manager Console窗口中依次敲入下面三个命令即可: Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.Enti
阅读全文
EF Core中关于Microsoft.EntityFrameworkCore.DynamicLinq的使用(转载)
摘要:项目中经常用到组合条件查询,根据用户配置的查询条件进行搜索,拼接SQL容易造成SQL注入,普通的LINQ可以用表达式树来完成,但也比较麻烦。有个Microsoft.EntityFrameworkCore.DynamicLinq用起来比较方便。 NuGet: Install-Package Micro
阅读全文
在EF Core里面如何使用以前EntityFramework的DbContext.Database.SqlQuery<SomeModel>自定义查询
摘要:问: With Entity Framework Core removing dbData.Database.SqlQuery<SomeModel> I can't find a solution to build a raw SQL Query for my full-text search qu
阅读全文
在ASP.NET Core的startup类中如何使用MemoryCache
摘要:问: 下面的代码,在ASP.NET Core的startup类中创建了一个MemoryCache并且存储了三个键值“entryA”,“entryB”,“entryC”,之后想在Controller中再把这三个键值从缓存中取出来,但是发现Controller中的构造函数依赖注入的IMemoryCach
阅读全文
在ASP.NET Core中怎么使用HttpContext.Current (转载)
摘要:一、前言 我们都知道,ASP.NET Core作为最新的框架,在MVC5和ASP.NET WebForm的基础上做了大量的重构。如果我们想使用以前版本中的HttpContext.Current的话,目前是不可用的,因为ASP.NET Core中是并没有这个API的。 当然我们也可以通过在Contro
阅读全文
如何在.Net Core 2.0 App中读取appsettings.json
摘要:This is something that strangely doesn’t seem to be that well documented and took me a while to figure out though in the end it’s pretty simple. All t
阅读全文
ASP.NET CORE MVC 2.0 如何在Filter中使用依赖注入来读取AppSettings,及.NET Core控制台项目中读取AppSettings
摘要:问: ASP.NET CORE MVC 如何在Filter中使用依赖注入来读取AppSettings 答: Dependency injection is possible in filters as well. Here is a simple way to get connection stri
阅读全文
如何避免SHRINKDATABASE & SHRINKFILE 产生索引碎片(转载)
摘要:1. TRUNCATEONLY参数的使用我们在建立的Job中通常使用如下的语法DBCC SHRINKDATABASE (N'DB', 10,TruncateOnly)其中TruncateOnly的用处是把:“将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动”,所以此时前面指定的“
阅读全文