NewLife.XCode 11.7.2023.311-beta1336

This is a prerelease version of NewLife.XCode.
There is a newer version of this package available.
See the version list below for details.
dotnet add package NewLife.XCode --version 11.7.2023.311-beta1336                
NuGet\Install-Package NewLife.XCode -Version 11.7.2023.311-beta1336                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NewLife.XCode" Version="11.7.2023.311-beta1336" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NewLife.XCode --version 11.7.2023.311-beta1336                
#r "nuget: NewLife.XCode, 11.7.2023.311-beta1336"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NewLife.XCode as a Cake Addin
#addin nuget:?package=NewLife.XCode&version=11.7.2023.311-beta1336&prerelease

// Install NewLife.XCode as a Cake Tool
#tool nuget:?package=NewLife.XCode&version=11.7.2023.311-beta1336&prerelease                

NewLife.XCode - 数据中间件

GitHub top language GitHub License Nuget Downloads Nuget Nuget (with prereleases)

数据中间件,支持MySQL、SQLite、SqlServer、Oracle、Postgresql、TDengine、达梦,重点在缓存、性能、分表、自动建表。

XCode文档:https://newlifex.com/xcode

大数据中间件

主要特点:
1,超高性能,极致的缓存设计,批量操作优化,插入速度最高77万tps,查询速度最高18亿qps。飞仙
2,反向工程,根据实体类主动建立数据库表结构并初始化数据,支持多种数据库
3,自动分表分库,支持任意数据库,无需修改业务代码
4,跨库数据迁移,支持任意数据库进行数据迁移。跨库数据迁移工具

XCode具有哪些优势?

  • 采用最好的分页算法,高效处理海量数据。
    数据分页的思想贯穿整个XCode的生命周期,任何一个不论大小的测试,数据样本都是单表一千万起。
    其它很多ORM,在数据达到百万之后会变慢,达到千万后基本上就卡死了。XCode同时支持最流行的几大数据库分页算法,经过20多年的经验积累,根据数据库类型、版本以及所处环境,自动选择最佳的分页算法。
    当前很多其它ORM要么仅支持一两种数据库的分页算法,要么采用的分页算法具有极大的局限性,要求所设计的数据表必须具有某种特征。
  • 先进的多级缓存思想,保证最出色的性能。
    XCode在最重要的数据管道主线上拥有三级缓存设计,在其它地方拥有无数的缓存设计。
    缓存的设计,让使用XCode开发的系统在性能上能够轻易超越采用原生数据库操作开发的系统,甚至有成千上万倍的差距!
    几乎所有的ORM都基于原生数据库操作,理论上会比原生数据库操作要慢一点,只有极少数使用了缓存的ORM会比原生数据库操作要快一些,但远没有XCode这么多的缓存设计。
  • 化繁为简,容易上手。
    最流行的Hibernate、EF等ORM框架,追求完美的支持所有功能,庞大无比,让很多使用者望而却步。
    而XCode的核心思想是让一切变得简单,变得更简单!甚至连多表关联查询都不支持,而建议分为多次单表查询。也正因为化繁为简,使得XCode能够采用更多的缓存,化繁为简与缓存思想互相促进,甚至可以让多次单表查询远快于单次多表关联查询。
  • 抽象实体结构,支持多数据库的正向反向工程。
    绝大多数ORM只负责对象与关系数据库的数据映射,而少有数据结构的映射。
    正向功能能够取得数据库结构,便于代码生成器使用;反向工程能够根据实体结构创建数据表、修改数据表结构、删除数据表或字段等,所以采用XCode开发的系统,发布的时候都可以不需要附带初始数据库。
    正向工程反向工程均是XCode提出的概念,在08年之前,除了XCode外没有任何其它ORM支持反向工程。也正是因为实体结构映射这一设计,使得XCode超越ORM,发展成为可以把实体对象映射到其它非数据库的形式。
  • 分布式支持。
    尽管XCode采用了最好的分页算法,但对于大型系统甚至超级系统来说,单表数千万乃至数亿的数据是远远不能满足要求的。不管从数据存储还是从性能瓶颈的角度来考虑,分布式是必然趋势!
    XCode原生支持分布式设计。单表拆成多表,拆分到不同数据库、不同数据库服务器,XCode能够完全屏蔽数据层,使用起来就跟一张超级大表一样。其它绝大多数ORM不会对分布式实行原生支持,需要分布式数据库或者极其昂贵的硬件来配合才能做到。
  • 总的来说,最好的分页算法保证基本操作不犯错,化繁为简和多级缓存的设计保证XCode在性能上永无止境,所以,XCode的最大优势就是性能!

教程

打开Visual Studio,新建一个控制台应用

使用NuGet安装到你的项目

PM> Install-Package NewLife.XCode

编写一个简单Xml模型(如果你已有现成的数据库,则可以使用XCoder.exe工具生成)

<?xml version="1.0" encoding="utf-8"?>
<Tables Version="9.6.6644.19804" Output="MyEntity" NameSpace="Model" BaseClass="Entity" ConnName="DB">
  <Table Name="UserInfo" Description="用户信息">
    <Columns>
      <Column Name="UserId" DataType="Int32" Identity="True" PrimaryKey="True" Description="会员id" />
      <Column Name="UserName" DataType="String" Nullable="False" Description="会员名称" />
      <Column Name="Password" DataType="String" Nullable="False" Description="会员密码" />
      <Column Name="Age" DataType="Int32" Description="会员年龄" />
    </Columns>
  </Table>
</Tables>

这是一个简单的XCode映射模型,跟hibernate原理相似,依靠这个模型,我们可以自动生成我们想要的数据库而不用写任何sql语句,所以也不用打开你的Sqlserver管理工具、navicat、mysqladminister等等 ,这个xml会自动帮你生成,一切都来得如此简单快捷。

生成模型文件

双击xml文件旁边的xcodetool.exe,这时你会看到生成一个MyEntity文件目录,目录包含了两个文件:用户信息.Biz.cs、用户信息.cs。
作为一个orm组件,你完全不用关心里面代码的写法,我们只需会用就行了。

使用XCode实现简单的增删改查

  • Program.cs文件最上面引用命名空间
using XCode;

不然会使用不了Save、Update、Delete等扩展方法。

  • 新增一条数据。注:这里没有指定数据库,所以XCode默认的是sqlite数据库
var user = new UserInfo();
user.UserName = "张三";
user.Password = "123456";
user.Age = 18;
user.Insert();//user.Save()等效

Console.WriteLine("插入一条新数据,用户id为:" + user.UserId);
  • 修改一条数据
var user = UserInfo.FindById(1);
user.UserName = "张三";
user.Password = "123456";
user.Age = 19;
user.Update();//user.Save()等效

user = UserInfo.FindById(1);
Console.WriteLine($"用户ID={user.UserId}已修改岁数,岁数为:{user.Age}");
  • 删除一条数据
var user = UserInfo.FindById(1);
user.Delete();

user = UserInfo.FindById(1);
Console.WriteLine("用户" + (user == null ? "已删除" : "还存在"));
  • 查询数据,查询是一个十分复杂的需求,这里只举一些简单的例子,如果你想学更高级更复杂的查询,可以浏览页面底部的链接
//根据UserId查询用户信息
var userId = 2;
var user = UserInfo.FindById(userId);
Console.WriteLine($"ID为{user.UserId}用户姓名为:{user.UserName}");

//根据用户名称查询
var userList = UserInfo.FindAll(UserInfo._.UserName == "张三");
Console.WriteLine($"查询符合姓名为张三的记录有{userList.Count}");

//多复合条件查询
userList = UserInfo.FindAll(UserInfo._.UserName == "张三" & UserInfo._.Age == 19);
Console.WriteLine($"查询符合姓名为张三年龄为19的记录有{userList.Count}");

一些高级的用法

  • 更新(注:XCode是使用缓存,所以有些高级方法会绕过缓存直接更新数据库,这样会导致缓存数据与数据库的数据不一致。) 更新某些字段。
UserInfo.Update(UserInfo._.UserName == "李四" & UserInfo._.Age == 18, UserInfo._.UserId == 1);
// 相当于Update UserInfo Set UserName='李四' And Age=18 Where UserId=1
// 绕过了缓存,不推荐这种写法。建议先查出来对象,然后修改并Update回去

复杂的查询语句

var userList = UserInfo.FindAll(UserInfo._.UserName == "张三" & UserInfo._.Age == 19, UserInfo._.UserName.Desc(), string.Join(",", UserInfo._.UserName, UserInfo._.Age), 0, 0);
// 相当于Select UserName,Age From UserInfo Where UserName='张三' And Age=19 Order By  UserName desc

带分页排序的复杂查询
一般写在实体类业务文件(.Biz.cs)里面

public static IList<UserInfo> Search(String name, Int32 age, Pager p)
{
    // 多条件复杂查询
    var exp = new WhereExpression();
    if(!name.IsNullOrEmpty()) exp &= _.UserName == name;
    if(age > 0) exp &= _.Age == age;

    return FindAll(exp, p);
}

void Test()
{
    // 默认第一页,每页20行。魔方NewLife.Cube自动从页面Request获取以下参数
    var p = new Pager();
    p.PageIndex = 3;
    p.PageSize = 10;
    p.Sort = UserInfo.__.Age;
    p.Desc = true;

    // 需要总记录数来分页,FindAll后p.TotalCount有总记录数,用于计算页数PageCount
    p.RetrieveTotalCount = true;

    // 相当于Select * From UserInfo Where UserName='张三' And Age=19 Order By Age Desc limit 20, 10
    var list = UserInfo.Search("张三", 19, p);
}

以上的分页有缺点,就是只应用单字段排序

复合排序的分页查询语句

var pageIndex = 2;//第二页
var pageSize = 10;//每页十行

var userList = UserInfo.FindAll(UserInfo._.UserName == "张三" & UserInfo._.Age == 19, " UserName desc,Age asc", string.Join(",", UserInfo._.UserName, UserInfo._.Age), (pageIndex - 1) * pageSize, pageSize);
//相当于Select UserName,Age From UserInfo Where UserName='张三' And Age=19 Order By  UserName desc,Age asc limit 10, 10

容器化部署

XCode 支持从环境变量中获取数据库连接字符串,用于容器化部署。
连接字符串的环境变量命名规范为 XCode_{ConnName},不区分大小写,连接字符串中需要使用provider指定数据库类型。

新生命项目矩阵

各项目默认支持net7.0/netstandard2.1/netstandard2.0/net4.61/net4.5,旧版(2023.0308)支持net4.0/net2.0

项目 年份 说明
基础组件 支撑其它中间件以及产品项目
NewLife.Core 2002 核心库,日志、配置、缓存、网络、序列化、APM性能追踪
NewLife.XCode 2005 大数据中间件,单表百亿级,MySql/SQLite/SqlServer/Oracle/TDengine/达梦,自动分表
NewLife.Net 2005 网络库,单机千万级吞吐率(2266万tps),单机百万级连接(400万Tcp)
NewLife.Remoting 2011 RPC通信框架,内网高吞吐或物联网硬件设备场景
NewLife.Cube 2010 魔方快速开发平台,集成了用户权限、SSO登录、OAuth服务端等,单表100亿级项目验证
NewLife.Agent 2008 服务管理组件,把应用安装成为操作系统守护进程,Windows服务、Linux的Systemd
NewLife.Zero 2020 Zero零代脚手架,基于NewLife组件生态的项目模板,Web、WebApi、Service
中间件 对接知名中间件平台
NewLife.Redis 2017 Redis客户端,微秒级延迟,百万级吞吐,丰富的消息队列,百亿级数据量项目验证
NewLife.RocketMQ 2018 RocketMQ纯托管客户端,支持Apache RocketMQ和阿里云消息队列,十亿级项目验
NewLife.MQTT 2019 物联网消息协议,MqttClient/MqttServer,客户端支持阿里云物联网
NewLife.IoT 2022 IoT标准库,定义物联网领域的各种通信协议标准规范
NewLife.Modbus 2022 ModbusTcp/ModbusRTU/ModbusASCII,基于IoT标准库实现,支持IoT平台和IoTEdge
NewLife.Siemens 2022 西门子PLC协议,基于IoT标准库实现,支持IoT平台和IoTEdge
NewLife.Map 2022 地图组件库,封装百度地图、高德地图和腾讯地图
NewLife.IP 2022 IP地址库,IP地址转物理地址
产品平台 产品平台级,编译部署即用,个性化自定义
AntJob 2019 蚂蚁调度,分布式大数据计算平台(实时/离线),蚂蚁搬家分片思想,万亿级数据量项目验证
Stardust 2018 星尘,分布式服务平台,节点管理、APM监控中心、配置中心、注册中心、发布中心
NewLife.ERP 2021 企业ERP,产品管理、客户管理、销售管理、供应商管理
CrazyCoder 2006 码神工具,众多开发者工具,网络、串口、加解密、正则表达式、Modbus
XProxy 2005 产品级反向代理,NAT代理、Http代理
HttpMeter 2022 Http压力测试工具
GitCandy 2015 Git源代码管理系统
SmartOS 2014 嵌入式操作系统,完全独立自主,支持ARM Cortex-M芯片架构
SmartA2 2019 嵌入式工业计算机,物联网边缘网关,高性能.NET6主机,应用于工业、农业、交通、医疗
菲凡物联FIoT 2020 物联网整体解决方案,建筑、环保、农业,软硬件及大数据分析一体化,单机十万级点位项目验证
NewLife.UWB 2020 厘米级(10~20cm)高精度室内定位,软硬件一体化,与其它系统联动,大型展厅项目验证

新生命开发团队

XCode

新生命团队(NewLife)成立于2002年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。
团队主导的开源NewLife系列组件已被广泛应用于各行业,Nuget累计下载量高达60余万次。
团队开发的大数据核心组件NewLife.XCode、蚂蚁调度计算平台AntJob、星尘分布式平台Stardust、缓存队列组件NewLife.Redis以及物联网平台NewLife.IoT,均成功应用于电力、高校、互联网、电信、交通、物流、工控、医疗、文博等行业,为客户提供了大量先进、可靠、安全、高质量、易扩展的产品和系统集成服务。

我们将不断通过服务的持续改进,成为客户长期信赖的合作伙伴,通过不断的创新和发展,成为国内优秀的IT服务供应商。

新生命团队始于2002年,部分开源项目具有20年以上漫长历史,源码库保留有2010年以来所有修改记录
网站:https://newlifex.com
开源:https://github.com/newlifex
QQ群:1600800/1600838
微信公众号:
智能大石头

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (20)

Showing the top 5 NuGet packages that depend on NewLife.XCode:

Package Downloads
NewLife.Cube.Core

Web快速开发平台,搭建管理后台,灵活可扩展!内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块,在真实项目中经历过单表100亿数据添删改查的考验。

NewLife.Cube

Web快速开发平台,搭建管理后台,灵活可扩展!内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块,在真实项目中经历过单表100亿数据添删改查的考验。

NewLife.XCoder

基于编译型模版引擎的代码生成器,以及众多开发者工具

NewLife.AntJob.Extensions

分布式任务调度系统,纯NET打造的重量级大数据实时计算平台,万亿级调度经验积累。

NewLife.MQ

消息发布订阅持久化

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on NewLife.XCode:

Repository Stars
NewLifeX/X
Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache (memory / redis), network (TCP / UDP / HTTP), RPC framework, serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存(内存/Redis)、网络(Tcp/Udp/Http)、RPC框架、序列化(Binary/XML/Json)、APM性能追踪。
NewLifeX/AntJob
分布式任务调度系统,纯NET打造的重量级大数据实时计算平台,万亿级调度经验积累!面向中小企业大数据分析场景。
NewLifeX/Stardust
星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
NewLifeX/XCoder
新生命码神工具,代码生成、网络工具、API工具、串口工具、正则工具、图标工具、加解密工具、地图接口。
landv/LuYao.Toolkit
LuYao.Toolkit 路遥工具箱
Version Downloads Last updated
11.16.2024.1211-beta0602 80 12/11/2024
11.16.2024.1208-beta0602 74 12/8/2024
11.16.2024.1202 866 12/2/2024
11.16.2024.1202-beta0219 50 12/2/2024
11.16.2024.1130-beta1450 71 11/30/2024
11.16.2024.1128-beta1251 66 11/28/2024
11.16.2024.1128-beta0722 68 11/28/2024
11.16.2024.1127-beta0806 61 11/27/2024
11.16.2024.1124-beta1553 68 11/24/2024
11.16.2024.1124-beta1546 66 11/24/2024
11.16.2024.1123-beta0127 65 11/23/2024
11.16.2024.1119-beta0550 72 11/19/2024
11.16.2024.1114 1,086 11/14/2024
11.16.2024.1114-beta0038 67 11/14/2024
11.16.2024.1113-beta0602 58 11/13/2024
11.16.2024.1112-beta0943 97 11/12/2024
11.16.2024.1112-beta0714 62 11/12/2024
11.16.2024.1111-beta1312 77 11/11/2024
11.16.2024.1101 946 11/1/2024
11.16.2024.1101-beta0944 65 11/1/2024
11.16.2024.1029-beta0854 114 10/29/2024
11.16.2024.1027-beta0304 105 10/27/2024
11.16.2024.1020-beta0457 163 10/20/2024
11.16.2024.1005 1,135 10/5/2024
11.16.2024.1005-beta0110 72 10/5/2024
11.16.2024.1004 330 10/4/2024
11.16.2024.1004-beta0640 69 10/4/2024
11.16.2024.1004-beta0609 77 10/4/2024
11.16.2024.917-beta0218 179 9/17/2024
11.15.2024.924-beta0808 55 9/24/2024
11.15.2024.922-beta1046 74 9/22/2024
11.15.2024.920-beta0751 69 9/20/2024
11.15.2024.919-beta1613 69 9/19/2024
11.15.2024.919-beta0037 73 9/19/2024
11.15.2024.918-beta0214 88 9/18/2024
11.15.2024.918-beta0213 89 9/18/2024
11.15.2024.918-beta0137 87 9/18/2024
11.15.2024.916-beta0710 96 9/16/2024
11.15.2024.911-beta0346 90 9/11/2024
11.15.2024.910-beta1153 96 9/10/2024
11.15.2024.910-beta0846 95 9/10/2024
11.15.2024.910-beta0831 78 9/10/2024
11.15.2024.910-beta0821 92 9/10/2024
11.15.2024.910-beta0008 71 9/10/2024
11.15.2024.906-beta1427 97 9/6/2024
11.15.2024.904-beta1118 100 9/4/2024
11.15.2024.903-beta0241 92 9/3/2024
11.15.2024.902 1,326 9/2/2024
11.15.2024.902-beta0550 91 9/2/2024
11.15.2024.826-beta0849 182 8/26/2024
11.15.2024.826-beta0725 86 8/26/2024
11.15.2024.821-beta0719 101 8/21/2024
11.15.2024.816-beta1407 116 8/16/2024
11.15.2024.809-beta0608 165 8/9/2024
11.15.2024.806 1,066 8/6/2024
11.15.2024.805 113 8/5/2024
11.15.2024.805-beta0839 75 8/5/2024
11.15.2024.805-beta0300 68 8/5/2024
11.15.2024.803 120 8/3/2024
11.15.2024.803-beta1714 67 8/3/2024
11.15.2024.801 377 8/1/2024
11.15.2024.801-beta0732 78 8/1/2024
11.14.2024.801-beta0147 83 8/1/2024
11.14.2024.731-beta0606 66 7/31/2024
11.14.2024.730-beta0515 52 7/30/2024
11.14.2024.728-beta1354 309 7/28/2024
11.14.2024.728-beta0617 75 7/28/2024
11.14.2024.727-beta1047 78 7/27/2024
11.14.2024.723-beta0709 202 7/23/2024
11.14.2024.721-beta1230 107 7/21/2024
11.14.2024.719-beta0807 68 7/19/2024
11.14.2024.717-beta0857 83 7/17/2024
11.14.2024.717-beta0606 78 7/17/2024
11.14.2024.716-beta0011 89 7/16/2024
11.14.2024.715-beta1000 84 7/15/2024
11.14.2024.714-beta0545 279 7/14/2024
11.14.2024.710-beta0410 196 7/10/2024
11.14.2024.709-beta0201 113 7/9/2024
11.14.2024.708-beta0857 123 7/8/2024
11.13.2024.701 861 7/1/2024
11.13.2024.606 587 6/6/2024
11.13.2024.606-beta0307 94 6/6/2024
11.13.2024.604-beta0826 97 6/4/2024
11.13.2024.604-beta0743 100 6/4/2024
11.13.2024.604-beta0638 94 6/4/2024
11.13.2024.604-beta0556 92 6/4/2024
11.13.2024.603-beta1359 104 6/3/2024
11.13.2024.603-beta0606 99 6/3/2024
11.13.2024.601 203 6/1/2024
11.13.2024.601-beta0425 106 6/1/2024
11.12.2024.528-beta0836 80 5/28/2024
11.12.2024.523-beta0947 110 5/23/2024
11.12.2024.515 1,135 5/15/2024
11.11.2024.417-beta0711 568 4/17/2024
11.11.2024.411-beta0756 93 4/11/2024
11.11.2024.410-beta1244 85 4/10/2024
11.11.2024.409-beta0010 113 4/9/2024
11.11.2024.402 1,284 4/2/2024
11.11.2024.402-beta1631 107 4/2/2024
11.11.2024.330-beta0956 248 3/30/2024
11.11.2024.329-beta1049 86 3/29/2024
11.11.2024.327-beta0940 117 3/27/2024
11.11.2024.325-beta1243 79 3/25/2024
11.11.2024.319-beta0029 107 3/19/2024
11.11.2024.315-beta0558 100 3/15/2024
11.11.2024.314-beta1343 104 3/14/2024
11.11.2024.313-beta0204 100 3/13/2024
11.11.2024.307-beta1212 118 3/7/2024
11.11.2024.303 450 3/3/2024
11.11.2024.303-beta0524 93 3/3/2024
11.10.2024.228-beta1456 224 2/28/2024
11.10.2024.228-beta0803 100 2/28/2024
11.10.2024.222-beta0800 103 2/22/2024
11.10.2024.222-beta0744 91 2/22/2024
11.10.2024.216-beta0839 264 2/16/2024
11.10.2024.203 234 2/3/2024
11.10.2024.112-beta1221 377 1/12/2024
11.10.2024.101 1,326 1/1/2024
11.10.2023.1218-beta0938 144 12/18/2023
11.10.2023.1210-beta1346 140 12/10/2023
11.10.2023.1209-beta0038 117 12/9/2023
11.10.2023.1201 2,111 12/1/2023
11.10.2023.1126-beta0047 217 11/26/2023
11.10.2023.1124-beta2252 107 11/24/2023
11.10.2023.1121-beta1004 123 11/21/2023
11.10.2023.1120-beta1457 114 11/20/2023
11.10.2023.1114-beta0656 115 11/14/2023
11.10.2023.1110-beta1324 102 11/10/2023
11.10.2023.1107-beta0007 100 11/7/2023
11.10.2023.1101 1,100 11/1/2023
11.10.2023.1031-beta0023 101 10/31/2023
11.10.2023.1028-beta0100 112 10/28/2023
11.10.2023.1026-beta0051 112 10/26/2023
11.10.2023.1022-beta1416 132 10/22/2023
11.10.2023.1020-beta0112 122 10/20/2023
11.10.2023.1012 975 10/12/2023
11.10.2023.1010-beta0956 130 10/10/2023
11.9.2023.930-beta0438 191 9/30/2023
11.9.2023.909-beta0001 165 9/9/2023
11.9.2023.831-beta0724 194 8/31/2023
11.9.2023.831-beta0237 102 8/31/2023
11.9.2023.830-beta0636 121 8/30/2023
11.9.2023.829-beta0727 430 8/29/2023
11.9.2023.826-beta0001 118 8/26/2023
11.9.2023.823-beta1153 235 8/23/2023
11.9.2023.822-beta1617 121 8/22/2023
11.9.2023.822-beta1556 102 8/22/2023
11.9.2023.817-beta0324 134 8/17/2023
11.9.2023.815-beta0614 124 8/15/2023
11.9.2023.812-beta0822 140 8/12/2023
11.9.2023.806-beta1039 142 8/6/2023
11.9.2023.803-beta1733 121 8/3/2023
11.9.2023.801 1,141 8/1/2023
11.9.2023.801-beta0706 143 8/1/2023
11.8.2023.723-beta0540 146 7/23/2023
11.8.2023.711-beta0326 160 7/11/2023
11.8.2023.707-beta0320 392 7/7/2023
11.8.2023.704-beta0217 340 7/4/2023
11.8.2023.628-beta0652 373 6/28/2023
11.8.2023.624-beta0021 323 6/24/2023
11.8.2023.622-beta0043 127 6/22/2023
11.8.2023.609-beta1406 309 6/9/2023
11.8.2023.606-beta1137 124 6/6/2023
11.8.2023.603-beta0000 133 6/3/2023
11.8.2023.601 1,106 6/1/2023
11.8.2023.531-beta0844 126 5/31/2023
11.8.2023.524-beta1609 137 5/24/2023
11.8.2023.523-beta0001 140 5/23/2023
11.8.2023.511-beta0917 525 5/11/2023
11.8.2023.511-beta0019 137 5/11/2023
11.8.2023.510-beta2335 126 5/10/2023
11.8.2023.508-beta2349 126 5/8/2023
11.8.2023.503 1,047 5/3/2023
11.8.2023.503-beta1619 128 5/3/2023
11.8.2023.503-beta1524 123 5/3/2023
11.8.2023.424-beta1320 138 4/24/2023
11.8.2023.422-beta0205 150 4/22/2023
11.8.2023.412-beta1750 391 4/12/2023
11.8.2023.412-beta1557 139 4/12/2023
11.8.2023.409-beta1501 144 4/9/2023
11.8.2023.408-beta0105 146 4/8/2023
11.8.2023.407-beta0633 133 4/7/2023
11.8.2023.405-beta0133 229 4/5/2023
11.8.2023.401 1,247 4/1/2023
11.8.2023.401-beta1724 135 4/1/2023
11.7.2023.401-beta0000 153 4/1/2023
11.7.2023.328-beta1337 298 3/28/2023
11.7.2023.327-beta1514 150 3/27/2023
11.7.2023.324-beta1635 166 3/24/2023
11.7.2023.322-beta1520 2,097 3/22/2023
11.7.2023.322-beta0402 129 3/22/2023
11.7.2023.318-beta0211 168 3/18/2023
11.7.2023.314-beta0127 155 3/14/2023
11.7.2023.312-beta0127 190 3/12/2023
11.7.2023.311-beta1336 139 3/11/2023
11.6.2023.310-beta1209 150 3/10/2023
11.6.2023.307-beta1032 175 3/7/2023
11.6.2023.302 1,096 3/2/2023
11.6.2023.301 1,252 3/1/2023
11.6.2023.301-beta0118 138 3/1/2023
11.5.2023.228-beta0647 138 2/28/2023
11.5.2023.225-beta0332 140 2/25/2023
11.5.2023.225-beta0126 142 2/25/2023
11.5.2023.221-beta1436 185 2/21/2023
11.5.2023.203 2,035 2/3/2023
11.5.2023.203-beta1432 135 2/3/2023
11.5.2023.203-beta1155 128 2/3/2023
11.5.2023.101 2,500 1/1/2023
11.5.2023.101-beta0220 145 1/1/2023
11.5.2022.1224-beta0551 181 12/24/2022
11.5.2022.1223-beta0407 554 12/23/2022
11.5.2022.1217-beta0141 150 12/17/2022
11.5.2022.1212-beta1503 184 12/12/2022
11.5.2022.1201 1,976 12/1/2022
11.5.2022.1201-beta1211 146 12/1/2022
11.4.2022.1201-beta0631 124 12/1/2022
11.4.2022.1129-beta0048 158 11/29/2022
11.4.2022.1119-beta0026 164 11/19/2022
11.3.2022.1117-beta0827 166 11/17/2022
11.3.2022.1112-beta0001 201 11/12/2022
11.3.2022.1106-beta0411 531 11/6/2022
11.3.2022.1105-beta0227 155 11/5/2022
11.3.2022.901 2,625 9/1/2022
11.3.2022.901-beta0314 142 9/1/2022
11.3.2022.821-beta1520 172 8/21/2022
11.3.2022.816-beta0752 196 8/16/2022
11.3.2022.813-beta1439 503 8/13/2022
11.3.2022.810-beta0602 226 8/10/2022
11.2.2022.807-beta0041 160 8/7/2022
11.2.2022.801 2,193 8/1/2022
11.2.2022.801-beta0137 172 8/1/2022
11.2.2022.801-beta0136 170 8/1/2022
11.2.2022.722-beta0846 174 7/22/2022
11.2.2022.701 2,219 7/1/2022
11.2.2022.701-beta1346 163 7/1/2022
11.2.2022.619-beta0936 219 6/19/2022
11.2.2022.616-beta1140 188 6/16/2022
11.2.2022.609-beta1513 178 6/9/2022
11.2.2022.605-beta1607 532 6/5/2022
11.2.2022.605-beta1403 178 6/5/2022
11.2.2022.604 863 6/4/2022
11.2.2022.529-beta2346 304 5/29/2022
11.1.2022.506-beta1454 166 5/6/2022
11.1.2022.501 2,747 5/1/2022
11.1.2022.501-beta0140 155 5/1/2022
11.0.2022.427-beta1600 204 4/27/2022
11.0.2022.427-beta0359 152 4/27/2022
11.0.2022.425-beta1330 175 4/25/2022
11.0.2022.422-beta1322 244 4/22/2022
11.0.2022.415-beta0458 243 4/15/2022
11.0.2022.408-beta0119 441 4/8/2022
11.0.2022.401 2,350 4/1/2022
11.0.2022.320-beta0630 269 3/20/2022
11.0.2022.216-beta2 334 2/16/2022
11.0.2022.202 1,263 2/2/2022
11.0.2022.116-beta1 281 1/16/2022
11.0.2022.101 1,168 12/31/2021
10.3.2021.1225 1,785 12/25/2021
10.3.2021.1216-beta2 260 12/16/2021
10.3.2021.1216-beta1 221 12/16/2021
10.3.2021.1204 2,426 12/4/2021
10.3.2021.1130-beta2 276 11/30/2021
10.3.2021.1124-beta1 3,786 11/25/2021
10.3.2021.1109 1,823 11/9/2021
10.3.2021.1030-beta3 361 10/30/2021
10.3.2021.1020-beta2 328 10/20/2021
10.3.2021.1017-beta1 259 10/17/2021
10.2.2021.1001 2,113 10/1/2021
10.2.2021.923-beta1 281 9/23/2021
10.2.2021.904 1,266 9/4/2021
10.2.2021.826-beta2 320 8/25/2021
10.2.2021.809 1,313 8/9/2021
10.2.2021.723-beta1 449 7/22/2021
10.2.2021.708 936 7/8/2021
10.2.2021.618-beta1 286 6/22/2021
10.2.2021.604 1,474 6/7/2021
10.1.2021.525-beta5 282 5/27/2021
10.1.2021.519-beta5 409 5/19/2021
10.1.2021.511-beta3 333 5/11/2021
10.1.2021.505 2,059 5/5/2021
10.1.2021.427-beta3 473 4/27/2021
10.1.2021.420-beta2 348 4/20/2021
10.1.2021.418-beta1 475 4/18/2021
10.1.2021.404 1,486 4/4/2021
10.1.2021.329-rc2 336 3/29/2021
10.1.2021.327-rc1 445 3/27/2021
10.1.2021.320-beta3 320 3/22/2021
10.1.2021.316-beta2 381 3/16/2021
10.1.2021.316-beta1 336 3/16/2021
10.1.2021.310-beta1 313 3/9/2021
10.0.2021.303 1,859 3/3/2021
10.0.2021.224-beta3 433 2/23/2021
10.0.2021.212-beta1 610 2/12/2021
10.0.2021.202 1,656 2/2/2021
10.0.2021.125-beta3 411 1/25/2021
10.0.2021.123-beta3 414 1/23/2021
10.0.2021.120-beta2 351 1/20/2021
10.0.2021.115-beta1 459 1/15/2021
10.0.2021.101 1,416 1/1/2021
10.0.2020.1223-beta2 432 12/23/2020
10.0.2020.1204 1,595 12/4/2020
10.0.2020.1101 1,397 11/1/2020
10.0.2020.1002 1,566 10/2/2020
10.0.2020.930-rc4 412 9/30/2020
10.0.2020.930-rc3 434 9/29/2020
10.0.2020.927-rc2 587 9/26/2020
9.20.2020.922-rc1 461 9/22/2020
9.20.2020.918-beta3 498 9/18/2020
9.20.2020.914-beta2 572 9/14/2020
9.20.2020.912-beta 579 9/12/2020
9.20.2020.901 1,839 9/1/2020
9.19.2020.825-beta8 502 8/24/2020
9.19.2020.802 2,030 8/2/2020
9.18.2020.727-rc3 456 7/27/2020
9.18.2020.725-rc 532 7/25/2020
9.18.2020.719-beta 547 7/18/2020
9.18.2020.701 1,146 7/1/2020
9.18.2020.622-beta 445 6/21/2020
9.17.2020.601 1,352 5/31/2020
9.17.2020.525-rc 574 5/25/2020
9.17.2020.510-beta 452 5/10/2020
9.17.2020.501 1,525 5/1/2020
9.16.2020.425-beta 741 4/25/2020
9.16.2020.421-beta 466 4/21/2020
9.16.2020.403 1,479 4/2/2020
9.16.2020.329-beta 544 3/29/2020
9.16.2020.322-beta 594 3/22/2020
9.16.2020.308 1,568 3/8/2020
9.15.2020.305-rc 527 3/5/2020
9.15.2020.227-cbeta 512 2/27/2020
9.15.2020.219-beta 664 2/19/2020
9.15.2020.217-beta 634 2/17/2020
9.15.2020.204 2,032 2/4/2020
9.14.2020.101 1,418 1/1/2020
9.14.2019.1212 1,706 12/12/2019
9.14.2019.1203 1,208 12/3/2019
9.14.2019.1109 2,200 11/9/2019
9.14.2019.923 1,197 9/24/2019
9.14.2019.822 1,307 8/22/2019
9.13.2019.706 1,631 7/6/2019
9.12.2019.618 1,174 6/23/2019
9.11.2019.602 1,795 6/2/2019
9.11.2019.510 1,056 5/10/2019
9.11.2019.415 1,541 4/15/2019
9.11.2019.406 1,170 4/6/2019
9.11.2019.327 1,117 3/26/2019
9.11.2019.324 880 3/24/2019
9.11.2019.320 898 3/20/2019
9.11.2019.314 1,079 3/14/2019
9.11.2019.311 1,525 3/10/2019
9.10.6965.42078 1,130 1/26/2019
9.10.6940.24648 1,359 1/1/2019
9.9.6911.41890 1,251 12/3/2018
9.9.6881.41312 2,020 11/3/2018
9.9.6870.42458 1,503 10/23/2018
9.9.6839.35285 1,137 9/22/2018
9.9.6815.39385 1,086 8/29/2018
9.9.6806.38809 1,185 8/20/2018
9.9.6804.36942 1,641 8/18/2018
9.8.6790.27913 1,478 8/4/2018
9.8.6763.36551 1,816 7/8/2018
9.8.6755.22252 1,651 6/30/2018
9.7.6722.39741 1,673 5/28/2018
9.6.6678.32715 2,375 4/14/2018
9.6.6644.19804 1,729 3/13/2018
9.6.6631.1418 1,816 2/25/2018
9.6.6576.132 2,187 1/1/2018
9.6.6542.34608 2,158 11/29/2017
9.6.6504.184 1,994 10/21/2017
9.6.6456.33157 1,947 9/4/2017
9.6.6441.4900 1,395 8/19/2017
9.5.6412.41697 2,132 7/22/2017
9.5.6373.296 1,416 6/12/2017
9.4.6362.19954 1,826 6/2/2017
9.4.6354.28216 1,555 5/25/2017
9.4.6295.19987 1,515 3/27/2017
9.2.6212.2087 2,263 1/2/2017
9.1.6173.29485 1,514 11/25/2016
9.1.6157.20380 1,432 11/9/2016
9.1.6136.28588 1,403 10/19/2016
9.0.6073.30845 1,501 8/17/2016
9.0.6055.30543 1,441 8/9/2016
9.0.5970.32144 2,093 5/6/2016
9.0.5941.32093 1,300 4/7/2016
8.21.5935.36186 1,656 4/1/2016
8.21.5907.30308 1,850 3/4/2016
8.21.5904.30429 1,766 3/1/2016
8.21.5887.40343 1,779 2/13/2016
8.21.5874.34033 2,059 2/4/2016
8.20.5786.32623 1,310 11/4/2015
8.20.5749.18133 1,883 9/28/2015
8.20.5701.19741 1,537 8/11/2015
8.18.5624.26027 2,119 5/27/2015
8.18.5615.3064 1,499 5/16/2015
8.18.5615.2933 1,956 5/16/2015
8.18.5606.36186 1,779 5/8/2015
8.17.5586.37396 2,108 4/18/2015
8.17.5583.27032 1,292 4/15/2015
8.17.5577.38179 1,452 4/9/2015
8.16.5571.6262 2,134 4/2/2015
8.16.5571.4984 1,518 4/2/2015
8.9.5038.20106 1,877 2/13/2016

恢复支持.NET45;增加批量查询器