摘要:
.net v6.0.0-preview.3的HotReload我是极喜欢的,因为之前有这样的需求——状态不丢,上下文不丢。 为了验证,安装完.net 6 preview 3后,新建一个webapi项目,写了如下简单代码: using Microsoft.AspNetCore.Mvc; using M 阅读全文
posted @ 2022-02-04 16:39
桂素伟
阅读(80)
评论(0)
推荐(0)
摘要:
友情提示:这篇有点长,有点绕,加油! 上一篇文章,简单的说明了一下.net项目模板的创建,主要是通过在项目文件*.csproj同目录下添加.template.config文件夹和里面的template.json,再用dotnet new -i来安装项目模板的,本篇继续深入。 首先定个小目标: 实现一 阅读全文
posted @ 2022-02-04 16:11
桂素伟
阅读(108)
评论(1)
推荐(1)
摘要:
你有没有这样的感觉,开启一个新项目时,总是做一堆体力活——项目的结构层次,常用日志库,OpenAPI库,ORM库,的引入,权限认证方式选择添加,配置文件重新归置存放等等。公共框架的部分总是不变的,如果有个常用项目的模板就好了,可以一键创建,接下来直接写业务就ok了。 这种场景还适合一些公司对源码,项 阅读全文
posted @ 2022-02-04 16:04
桂素伟
阅读(277)
评论(0)
推荐(0)
摘要:
相信大家都受益过nuget.org,上面的海量的库、工具、模板为我们开发提供了极大的帮助,其中有很多都是非常宽松的开源协议,在此感谢那无私奉献的人 有的时候,在企业内部,有些库是私有的,专项的,要求非公开,另一方面需要公司内部开发人员共享这些库,这时就要搭建一个私用的NuGet仓库了。 BaGet就 阅读全文
posted @ 2022-02-04 15:58
桂素伟
阅读(113)
评论(0)
推荐(0)
摘要:
FluentValidation在asp.net core中怎么使用?先安装包。 Install-Package FluentValidation.AspNetCore 和上一篇的实体类和验证类一样。 实体类: public class Person { public int Id { get; s 阅读全文
posted @ 2022-02-04 15:50
桂素伟
阅读(85)
评论(0)
推荐(0)
摘要:
把数据错误扼杀在早期,那就是在数据的入口处,一般数据都是打包成一个实体的方式进传递,FluentValidation就以实体类为单位进行属性验证的集合。 Install-Package FluentValidation 下面看一个例子吧。 实体类: public class Person { pub 阅读全文
posted @ 2022-02-04 15:44
桂素伟
阅读(136)
评论(0)
推荐(0)
摘要:
从前,用asp.net core写了一个给客户发交易明细的应用,每天发一次,因为是csv格式,当时用的是StringBuilder来一行一行组装数据,组装完后,EMali或SFTP给客户。 后来,为节省服务器资源,需要把服务从windows server迁移到Linux上,经过反复测试,都没有发现B 阅读全文
posted @ 2022-02-04 09:31
桂素伟
阅读(807)
评论(0)
推荐(0)
摘要:
string string是常用的类型,它具有不可变性:就是一旦赋值,就不可变,如果再赋值 ,就重新开辟内存空间;保留性:如果一个字符串存在,另一个与其相同,他们会指向同一个地址,不会再开辟新内存空间; 下面的Demo作个证明: public unsafe void Run() { string a 阅读全文
posted @ 2022-02-04 09:27
桂素伟
阅读(233)
评论(0)
推荐(0)
摘要:
首先声明,Bogus是一个Nuget包的名称,Faker是它内部的一个类,这个库的作用就是模拟生成实体类的数据,特别适合测试时的场景,不用苦思冥想,辛辛苦苦来造不同的实体类了。当然,造出来的都是虚假的(Bogus),骗人的(Faker)。它家在这里:https://github.com/bchave 阅读全文
posted @ 2022-02-04 09:24
桂素伟
阅读(512)
评论(0)
推荐(0)
摘要:
OneOf——其中之一,这是一个泛型类,意思就是这里泛型中的任何一个类都可以,还是看代码吧。 引入包 install-package OneOf 实现一个产品查询,有三种情况,查询到返回;查询不到;查询出错。 [ApiController] [Route("[controller]")] publi 阅读全文
posted @ 2022-02-04 09:18
桂素伟
阅读(66)
评论(0)
推荐(0)
摘要:
csrobot为开发提高效率,增加乐趣! https://github.com/axzxs2001/CSRobot 安装命令: dotnet tool install --global CSRobot --version 0.0.4 Nuget地址:https://www.nuget.org/pac 阅读全文
posted @ 2022-02-04 09:16
桂素伟
阅读(70)
评论(0)
推荐(0)
摘要:
下面的数据库类型和c#类型的映射关系,只是我个人的想法,应该不同的业务场景对应可能不一样,比如json,xml,line,polygon结构化的数据,如果在C#中有对应的实体类,可以很友好的转换,如果没有,可以用现有的类型存储,再作转换,比如json,xml都可以用string来接收。 mysql字 阅读全文
posted @ 2022-02-04 09:11
桂素伟
阅读(102)
评论(0)
推荐(0)
摘要:
CSRobot的gen命令,有一个参数--map,是指数据库字段类型到实体类型映射,本例是sql server到csharp的类型映射: SQL Server C# bigint Int64 binary Byte[] bit Boolean char String,Char[] date Date 阅读全文
posted @ 2022-02-04 09:08
桂素伟
阅读(61)
评论(0)
推荐(0)
摘要:
CSRobot https://github.com/axzxs2001/CSRobot gen命令是用来从数据库,生成实体类,前一篇文章说到要实现两个接口,其中一个是从数据库中查询出库,表,字段的信息,转成实体类。 首先说一下gen命令的属性 csrobot gen [options] 命令参数选 阅读全文
posted @ 2022-02-04 08:30
桂素伟
阅读(223)
评论(0)
推荐(0)
摘要:
写代码很久了了,时不时想把这些年学到的,用到的,或自己感悟到的,汇总一下,形成一个东西,或资料,或工具。但每当开始时就一片空白,总是觉得这些大家都会,这些只是自己片面的观点,这些拿不出手…… 转念又想,再不写就更老了,再说社区的力量是伟大的,在写的过程中,可以集大家之思想,来完善,优化。 所以,在这 阅读全文
posted @ 2022-02-04 08:23
桂素伟
阅读(54)
评论(0)
推荐(0)
摘要:
应用是演进的,通常我们用版本号来管理。api也是演进的,这篇博文就说说asp.net web api演进时的版本管理。 asp.net web api的版本管理是通过微软的一个包来实现的。 Install-Package Microsoft.AspNetCore.Mvc.Versioning 通过u 阅读全文
posted @ 2022-02-04 08:18
桂素伟
阅读(52)
评论(0)
推荐(0)
摘要:
dotnet tool对应的工具,本质上是一个控制台应用,在调用这个应用时,会根据传入的参数,执行应用内部的逻辑。 关于dotnet tool命令使用,参照https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-tool-install 下 阅读全文
posted @ 2022-02-03 14:05
桂素伟
阅读(240)
评论(0)
推荐(0)
摘要:
在.net core发布之初,dotnet cli就诞生了,dotnet cli的作用是什么呢?主要是用来创建,还原,构建,发布,测试等一系统管理功能,本来,visual studio中是有这些功能的,那为什么还另外再提供一套呢? 【注:其实在windows下的.net应用,也是可以通命令行来实现一 阅读全文
posted @ 2022-02-03 13:53
桂素伟
阅读(89)
评论(0)
推荐(0)
摘要:
Union就是把不相干的一些数据实体,合并起来,一起供外部查询。不用像webapi,完成查询不同的数据,需要多次请求。一次请求,获取多样数据,减少请求次数,这也是GraphQL的优势之一。怎么弄,来来来,代码看过来: using HotChocolate; using HotChocolate.Ex 阅读全文
posted @ 2022-02-03 13:49
桂素伟
阅读(70)
评论(0)
推荐(0)
摘要:
向对象的继承,是个好东西;GraphQL也是个好东西;怎么能有机的结合起来,发挥彼此的能量?Hot Chocklate实现了.net和GraphQL的灵活组合,一起来看看,这是接口和子类的实现: class Program { static void Main(string[] args) { In 阅读全文
posted @ 2022-02-03 13:47
桂素伟
阅读(101)
评论(1)
推荐(0)

浙公网安备 33010602011771号