Fork me on GitHub
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要: Dapper,在.net的ORM中占有一席之地,用法简单,灵活,使用如下。但也带来一个问题,就是在单元测试时,Mock比较难办。 public List<Goods> GetAllGoods() { using var con = new SqlConnection(); var sql = "se 阅读全文
posted @ 2022-02-05 15:14 桂素伟 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 我们知道,在c#中,如果两个类型没有继承关系 ,是不能相互值赋的,但有两个关键字implicit和explicit,可以让 Date date = DateTime.Now这样的赋值成为可能。 注:c#是没有Date类型的,但DateTime有Date属性 DateTime.Date,但这个属性本质 阅读全文
posted @ 2022-02-05 15:10 桂素伟 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 当我们用nuget引用三方库时,在类型,或类型成员上会有注释,如下图,是MySql官方包,command的ExecuteNonQuery的注释 我们自己写一个类库项目CommentsLibrary,给类,构造函数,方法添加xml注释,然后生成 using System; namespace Comm 阅读全文
posted @ 2022-02-05 15:02 桂素伟 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 前情提要:因为项目特点,需要在自己的服务器上集成测试,而不是用github的DevOpt体系;再有就是服务器是windows的;项目仓库在github上;并且项目是asp.net core的项目;开发人员一枚。以前的做法就是发布后,把执行码复制在服务器上启动;后来就是在服务器写了个bat,运行bat 阅读全文
posted @ 2022-02-05 14:55 桂素伟 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 在使用visual studio开发过程中,有时发现在“错误列表”中的一些提示,大体分为错误、警告、消息,错误是我们必须处理的,否则代码通过编译,警告有时常常会被忽略(也许你是细心人,会处理掉),有时,这样的忽略会为应用埋下安全的隐患。 其实这些提示,是来自微软的IDE的Security Code 阅读全文
posted @ 2022-02-05 14:49 桂素伟 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 大部分主流语言都支持web框架,并且实现起来相对轻便,简捷,比如: go的gin包 package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.C 阅读全文
posted @ 2022-02-04 17:06 桂素伟 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 随着撸码的时间增加,码感也会加强,今天看一个编码直觉案例吧! 案例: 需求:把查询到的数据列表生成csv文件 nuget包:CsvHelper 数据实体类: /// <summary> /// 商品 /// </summary> public class Goods { /// <summary> 阅读全文
posted @ 2022-02-04 17:01 桂素伟 阅读(98) 评论(0) 推荐(0) 编辑
摘要: new new用三种场景,最常用的实例化,泛型参数时的实例化约束,第三种是显式隐藏继承成员。 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text 阅读全文
posted @ 2022-02-04 16:56 桂素伟 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 本例使用的规则引擎包是RulesEngine,关于RulesEngine的介绍,请自行补充,这里只是一个极简单使用场景。 例子大体就是用户有一些优惠券,系统会根据用户订单情况,筛选可以使用的优惠券供用户选择,用户选择后会计算出优惠后金额。 代码相对简单,就不一一介绍了,奉上service中的代码: 阅读全文
posted @ 2022-02-04 16:50 桂素伟 阅读(111) 评论(0) 推荐(0) 编辑
摘要: winform是一老技术,感觉都有点掉牙了(我近20年前就是从winform开始接触.net的);blazor,是微软技术圈里的新宠,正在被悉心照顾。当这一老一少的技术碰撞后,会有什么火花? .net v6.0.0-preview.3,给winform和blazor结合带来了前提。https://g 阅读全文
posted @ 2022-02-04 16:45 桂素伟 阅读(531) 评论(0) 推荐(0) 编辑
摘要: .net v6.0.0-preview.3的HotReload我是极喜欢的,因为之前有这样的需求——状态不丢,上下文不丢。 为了验证,安装完.net 6 preview 3后,新建一个webapi项目,写了如下简单代码: using Microsoft.AspNetCore.Mvc; using M 阅读全文
posted @ 2022-02-04 16:39 桂素伟 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 友情提示:这篇有点长,有点绕,加油! 上一篇文章,简单的说明了一下.net项目模板的创建,主要是通过在项目文件*.csproj同目录下添加.template.config文件夹和里面的template.json,再用dotnet new -i来安装项目模板的,本篇继续深入。 首先定个小目标: 实现一 阅读全文
posted @ 2022-02-04 16:11 桂素伟 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 你有没有这样的感觉,开启一个新项目时,总是做一堆体力活——项目的结构层次,常用日志库,OpenAPI库,ORM库,的引入,权限认证方式选择添加,配置文件重新归置存放等等。公共框架的部分总是不变的,如果有个常用项目的模板就好了,可以一键创建,接下来直接写业务就ok了。 这种场景还适合一些公司对源码,项 阅读全文
posted @ 2022-02-04 16:04 桂素伟 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 相信大家都受益过nuget.org,上面的海量的库、工具、模板为我们开发提供了极大的帮助,其中有很多都是非常宽松的开源协议,在此感谢那无私奉献的人 有的时候,在企业内部,有些库是私有的,专项的,要求非公开,另一方面需要公司内部开发人员共享这些库,这时就要搭建一个私用的NuGet仓库了。 BaGet就 阅读全文
posted @ 2022-02-04 15:58 桂素伟 阅读(82) 评论(0) 推荐(0) 编辑
摘要: FluentValidation在asp.net core中怎么使用?先安装包。 Install-Package FluentValidation.AspNetCore 和上一篇的实体类和验证类一样。 实体类: public class Person { public int Id { get; s 阅读全文
posted @ 2022-02-04 15:50 桂素伟 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 把数据错误扼杀在早期,那就是在数据的入口处,一般数据都是打包成一个实体的方式进传递,FluentValidation就以实体类为单位进行属性验证的集合。 Install-Package FluentValidation 下面看一个例子吧。 实体类: public class Person { pub 阅读全文
posted @ 2022-02-04 15:44 桂素伟 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 从前,用asp.net core写了一个给客户发交易明细的应用,每天发一次,因为是csv格式,当时用的是StringBuilder来一行一行组装数据,组装完后,EMali或SFTP给客户。 后来,为节省服务器资源,需要把服务从windows server迁移到Linux上,经过反复测试,都没有发现B 阅读全文
posted @ 2022-02-04 09:31 桂素伟 阅读(655) 评论(0) 推荐(0) 编辑
摘要: string string是常用的类型,它具有不可变性:就是一旦赋值,就不可变,如果再赋值 ,就重新开辟内存空间;保留性:如果一个字符串存在,另一个与其相同,他们会指向同一个地址,不会再开辟新内存空间; 下面的Demo作个证明: public unsafe void Run() { string a 阅读全文
posted @ 2022-02-04 09:27 桂素伟 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 首先声明,Bogus是一个Nuget包的名称,Faker是它内部的一个类,这个库的作用就是模拟生成实体类的数据,特别适合测试时的场景,不用苦思冥想,辛辛苦苦来造不同的实体类了。当然,造出来的都是虚假的(Bogus),骗人的(Faker)。它家在这里:https://github.com/bchave 阅读全文
posted @ 2022-02-04 09:24 桂素伟 阅读(398) 评论(0) 推荐(0) 编辑
摘要: OneOf——其中之一,这是一个泛型类,意思就是这里泛型中的任何一个类都可以,还是看代码吧。 引入包 install-package OneOf 实现一个产品查询,有三种情况,查询到返回;查询不到;查询出错。 [ApiController] [Route("[controller]")] publi 阅读全文
posted @ 2022-02-04 09:18 桂素伟 阅读(40) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页