php网站开发就业杭州app定制公司

web/2025/9/26 22:56:42/文章来源:
php网站开发就业,杭州app定制公司,房地产贷款最新政策,网站下载的网页修改下面版权所有WeihanLi.Npoi 1.18.0 ReleasedIntro前段时间一直在想#xff0c;把现在的配置做成类似于 AutoMapper 和 FluentValidation 那样#xff0c;把每个类型的 mapping 配置放在一个类中#xff0c;这样我们就可以比较好地组织我们的 mapping 关系#xff0c;也可以配置多个 map… WeihanLi.Npoi 1.18.0 ReleasedIntro前段时间一直在想把现在的配置做成类似于 AutoMapper 和 FluentValidation 那样把每个类型的 mapping 配置放在一个类中这样我们就可以比较好地组织我们的 mapping 关系也可以配置多个 mapping动态地进行切换于是就想着今天实现这个 feature。Sample在 1.18.0 版本中会加入一个 IMappingProfileTEntity 的接口要使用 fluent API 方式自定义 mapping 关系的时候可以实现这个接口这个接口的定义非常的简单定义如下public interface IMappingProfile { }public interface IMappingProfileT {public void Configure(IExcelConfigurationT configuration); } 这里增加了一个非泛型的接口实际使用主要是使用泛型接口非泛型的接口目前是一个空接口用来过滤不符合条件的类型。使用的示例如下public class NoticeProfile: IMappingProfileNotice {public void Configure(IExcelConfigurationNotice noticeSetting){noticeSetting.HasAuthor(WeihanLi).HasTitle(WeihanLi.Npoi test).HasSheetSetting(setting {setting.SheetName  NoticeList;setting.AutoColumnWidthEnabled  true;});noticeSetting.Property(_  _.Id).HasColumnIndex(0);noticeSetting.Property(_  _.Title).HasColumnIndex(1);noticeSetting.Property(_  _.Content).HasColumnIndex(2);noticeSetting.Property(_  _.Publisher).HasColumnIndex(3);noticeSetting.Property(_  _.PublishedAt).HasColumnIndex(4).HasColumnOutputFormatter(x  x.ToStandardTimeString());} } 在注册 IMappingProfile 的时候我们可以通过指定 Type 和程序集扫描两种方式来注册Type 注册可以获取类型的可访问性只要能够编译通过就能注册成功程序集扫描只扫描 public 的类型成员可以根据需要自行选择void LoadMappingProfiles(params Assembly[] assemblies); void LoadMappingProfiles(params Type[] types); 使用示例如下// Load by type FluentSettings.LoadMappingProfiles(typeof(NoticeProfile)); // Load by assembly FluentSettings.LoadMappingProfiles(typeof(NoticeProfile).Assembly); Whats Inside实现方式比较简单通过扫描程序集或加载指定类型通过反射创建一个 mapping profile 实例并注册 mapping 关系。foreach (var type in types.Where(x  x.IsAssignableToIMappingProfile())) {var profileInterfaceType  type.GetImplementedInterfaces().FirstOrDefault(x  x.IsGenericType  x.GetGenericTypeDefinition()  s_profileGenericTypeDefinition);if (profileInterfaceType is null){continue;}var profile  Activator.CreateInstance(type);var entityType  profileInterfaceType.GetGenericArguments()[0];var configuration  InternalHelper.GetExcelConfigurationMapping(entityType);var method  profileInterfaceType.GetMethod(MappingProfileConfigureMethodName,new[] {typeof(IExcelConfiguration).MakeGenericType(entityType)});method?.Invoke(profile, new object[] {configuration}); } More具体使用可以参考项目单元测试和另外一个示例项目https://github.com/OpenReservation/ReservationServer利用 Source Generator 我们可以进一步的将反射的这一过程进行优化在编译时生成强类型的注册代码这样也可以进一步地优化注册性能不过考虑实际注册的时候一般只会执行一次而且目前 VS、Rider 对 Source Generator 的支持不是特别好也就暂时没考虑使用 Source Generator 的方式来做后面可以再做优化希望能够通过这样的功能把 mapping 关系的配置更好的组织起来如果使用时有遇到问题或者觉得需要改进的欢迎通过项目 issue 反馈Referenceshttps://github.com/WeihanLi/WeihanLi.Npoihttps://github.com/OpenReservation/ReservationServer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业做网站建设网站seo推广软件

目录 字符编码 字符编码说明参考网站 字符编码 ASCII编码 ASCII编码介绍 ASCII编码表 中文编码 1. GB2312标准 区位码 2. GBK编码 3. GB18030 各个标准的对比说明 4. Big5编码 字符编码 字符编码说明参考网站 字符编码及转换测试:导航菜单 - 千千秀字 …

学网站建设多少学费初学网站建设

目 录 前言 1硬件资源 1.1CPU 1.2ROM 1.3RAM 1.4时钟系统 1.5电源 1.6LED

网站如何做吸引人的项目灯箱网站开发

目录 描述 思路 查看ipa包崩溃日志 简单查看手机崩溃信息几种方式 方式1:手机设置查看崩溃日志 方式2: Xocde工具 方式3: 第三方软件克魔助手 环境配置 实时日志 奔溃日志分析 方式四:控制台资源库 线上崩溃日志 线上监听crash的几种方式 方式1: 三方平…

东莞做门户网站注册域名的注意事项

这win下默认的主题令人窒息 打开git bash,使用命令cd ~然后用Atom命令打开文件.minttyrc.atom .minttyrc如果默认没有.minttyrc文件,自己新创建的也行。里面的内容填写如下:FontConsolas FontHeight14ForegroundColour131,148,150 Background…

网站域名设计方案短视频分享网站开发

映射配置 在创建索引时,可以预先定义字段的类型(映射类型)及相关属性。 数据库建表的时候,我们DDL依据一般都会指定每个字段的存储类型,例如:varchar、int、datetime等,目的很明确,就…

装饰公司 网站模板网站ui设计是什么

vs2010做mvc3 开发,用的是Razor的View,想修改默认浏览器,发现右键没有"浏览方式",把View改成.aspx的,也没有找到这个选项. 解决方法两种 (1)最简单的,建个Asp.net Web应用程序,在随便一个xxx.aspx页面,右键"浏览方式"即可.. (2)通过修改项目属性也可以,右键…

一站式做网站网站发外链

故障现象:客户某台WINDOWS服务器掉电,ORACLE数据库STARTUP提示控制文件CONTROL01.CTL、CONTROL02.CTL被破坏。一、处理控制文件异常故障方法:直接拷贝CONTROL0一、处理控制文件异常故障二、尝试启动SQL> startup;ORACLE例程已经启动。Tota…

网站内容怎么编辑四种常用的erp软件

点击查看最新在线IDE流行度最新排名(每月更新) 2024年04月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多,人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

秦皇岛市城乡建设网站seo优化资源

在 Ubuntu 上安装 MySQL 的步骤如下: 更新系统软件包列表: sudo apt update 安装 MySQL 服务器: sudo apt install mysql-server 安装完成,可以使用以下命令检查 MySQL 服务器是否正在运行: sudo systemctl status mysql 如果 MyS…

淄博企业网站做数学网站

题目 题目链接: https://www.nowcoder.com/practice/c43a0d72d29941c1b65c857d8ac9047e 思路 直接模拟参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值…

重庆微信网站代理商珠海蓝迪装饰公司官网

大家好,欢迎来到金榜探云手! DataGrip 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工…

哪个网站是免费的优化网站佛山厂商

原因:在做中控系统中遇到了一个给用户批量分配角色的问题,刚开始想到的是循环插入,但立马给否定了,循环操作数据库开发者的大忌啊,于是查找手册找到数据写入看到批量操作:addAll(),测试成功,以为…

网站建设与维护教学课件哪个网站是用php写的

K8S简单集群搭建 前提条件 windos11电脑,内存16g以上安装vmware虚拟机软件安装三个centos7虚拟机,分配硬盘40g,内存4g,CPU4核心网络均采用NAT模式(新建虚拟机默认的模式) centos7镜像下载:https://mirrors.tuna.tsi…

如何查询网站备案进度查询张店制作网站

检索对象 review_chain的目标是回答有关患者在医院就医体验的问题。到目前为止,已经将患者对医院的评论作为问题的上下文。虽然能回答少量问题,但它不具有很好的扩展性。此外,即使将所有评论放入模型的上下文中,也不能保证它使用…

网站建设1000字高防手表网站

1. 前言 本文是《【0264】深入分析relcache(relation descriptor cache)缓存初始化第2阶段》 的前传。在该文中,我们得知PG内核初始化relcache时,一共有三个阶段: 阶段(1) RelationCacheInitialize()阶段(2) RelationCacheInitializePhase2()阶段(3) RelationCache…

东莞企网站建设制作网站教程

prep7/pnum,label,key!在有限元模块图形中显示号码。Label=欲显示对象的名称,node节点,elem元素,kp点,line线,area面积,volu体积;key0为不显示号码(系统默认),&#xff1…

着力加强网站内容建设临沂网站制作定制

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群&#x…

苏州企业网站建设设计制作公司wordpress博客栏目设计

快速入口 👉向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (tencent.com) 文章目录 前言1. 向量数据库概念及原理1.1 向量数据库概念1.2 向量数据库核心原理1.3 向量数据库优缺点1.4 向量数据库与传统数据库的区别 2. 腾讯云向量数据库的基本特性及优…

珠海城乡建设网站怎么开网店呢

上一篇帖子【c】VSCode配置 c 环境(小白教程)_vscode配置c/c环境_StudyWinter的博客-CSDN博客 大火,但是依旧有很多小伙伴反应没有配好环境,今天打算重新写一个教程,希望对大家有帮助。 1 MinGW下载安装 在CSDN上传了…

59zwd一起做网站浙江百度推广开户

使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。…