摘要: 简介 注册和配置 使用生成器(可选) 用途 使用 查询(示例代码中使用的Db均为IExpressionContext对象) 基础查询 Join查询 多表查询 子查询 Join 子查询 With (tempName) AS (...) 查询 Include查询 Union 查询 已有查询Union新的 阅读全文
posted @ 2024-09-28 17:13 yaoqinglin_mtiter 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 本文介绍使用增量生成器生成AOP代理类 nuget包安装 dotnet add package AutoAopProxyGenerator --version 0.0.4 该nuget包主要是为一些类生成对应的代理类,以便实现一些aop操作,例如异常处理、日志记录等等。 该nuget包提供了3个at 阅读全文
posted @ 2024-08-27 15:31 yaoqinglin_mtiter 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 利用源生成器,在编译阶段生成映射代码,减少运行时反射 这里有一个Product类和ProductDto类,实现对象自身的拷贝,或者Product映射ProductDto GenMapperAttribute标注了类型需要生成映射方法,同时实现IAutoMap接口(由生成器实现接口, 类型转换时可以用 阅读全文
posted @ 2024-08-23 10:14 yaoqinglin_mtiter 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 使用增量生成器简化BlazorServer兼容Auto模式 文末有生成代码示例 啰里八嗦 Blazor作为.Net生态的一个前端框架,有多种开发模式,在初期,有Blazor Server和Blazor WebAssembly两种模式,各自的优点和缺点都很明显。后来,随着.Net8一起而来的还有Bla 阅读全文
posted @ 2024-08-15 11:49 yaoqinglin_mtiter 阅读(195) 评论(3) 推荐(2) 编辑
摘要: 在之前呢,为了偷懒,是使用了反射在项目启动的时候,自动注入项目需要的服务 现在改为使用源生成器,自动生成服务注入的代码 nuget地址 dotnet add package AutoInjectGenerator --version 0.0.3 一个提供了3个Attribute用于自动注入的配置 A 阅读全文
posted @ 2024-08-15 10:24 yaoqinglin_mtiter 阅读(34) 评论(0) 推荐(1) 编辑
摘要: 由于各种各样的原因,不得不暂时放下在我的 Blazor 项目添加Aop日志记录功能。 但是又在偶然的情况下,得知了Source Generators即源码生成器,能在编译期间,自己构建 cs 源码进行编译。 这让我又燃起了添加Aop日志记录功能的希望!!SG 官方文档 具体的项目创建、项目引用、项目 阅读全文
posted @ 2022-05-23 21:48 yaoqinglin_mtiter 阅读(330) 评论(0) 推荐(2) 编辑
摘要: 在Xml序列化的时候,存在抽象类属性,由于无法确定具体的类型,导致使用XmlSerializer的时候报错 参考网上的修改方法 使用XmlInclude标签 然而在使用的过程中,发现对多个类型标注时,也会报错 abstract class BaseData{} class DataType1 : B 阅读全文
posted @ 2021-12-12 17:46 yaoqinglin_mtiter 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 想让TextBox的高度自动适应内容 通过设置附加属性attach:TextBoxAttach.AutoHeight和TextBlock.LineHeight <TextBox VerticalContentAlignment="Top" attach:TextBoxAttach.AutoHeigh 阅读全文
posted @ 2021-08-30 16:22 yaoqinglin_mtiter 阅读(1481) 评论(0) 推荐(0) 编辑
摘要: 在看MvvmLights框架中的WeakAction源码的时候,才了解到Delegate中有Target这么一个属性 MSDN的解释是这样的 Gets the class instance on which the current delegate invokes the instance meth 阅读全文
posted @ 2021-08-27 14:24 yaoqinglin_mtiter 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 有这么一个东西 using(IDbConnection conn = GetDbConnection()) { var db = conn.DbContext(); db.DbSet.Select<T>() .InnerJoin<T2>((t,t2) => t.XXX == t2.XXX) .Whe 阅读全文
posted @ 2021-05-23 19:29 yaoqinglin_mtiter 阅读(249) 评论(0) 推荐(0) 编辑