NewLife.XCode 11.22.2025.1112

dotnet add package NewLife.XCode --version 11.22.2025.1112
                    
NuGet\Install-Package NewLife.XCode -Version 11.22.2025.1112
                    
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.22.2025.1112" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NewLife.XCode" Version="11.22.2025.1112" />
                    
Directory.Packages.props
<PackageReference Include="NewLife.XCode" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NewLife.XCode --version 11.22.2025.1112
                    
#r "nuget: NewLife.XCode, 11.22.2025.1112"
                    
#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.
#:package NewLife.XCode@11.22.2025.1112
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NewLife.XCode&version=11.22.2025.1112
                    
Install as a Cake Addin
#tool nuget:?package=NewLife.XCode&version=11.22.2025.1112
                    
Install as a Cake Tool

NewLife.XCode - 数据中间件 / 超级ORM

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

高性能 .NET 数据中间件,聚焦“添删改查 + 极致性能 + 海量数据”,内置多级缓存、自动建模/迁移、分表分库、强类型查询、跨库迁移,支持 MySQL / SQLite / SqlServer / Oracle / PostgreSQL / TDengine / 达梦 / 金仓 / 瀚高 / DB2 等。单表生产实践达百亿级,查询吞吐可达十亿级 QPS(配合缓存策略)。

文档:https://newlifex.com/xcode 社区交流QQ群:1600800 / 1600838


目录

    1. 为什么选 XCode
    1. 安装与快速体验
    1. 架构与核心概念
    • 3.1 模型与代码生成
    • 3.2 实体运行时 (Meta / Session / Operate)
    • 3.3 DAL 抽象层
    • 3.4 查询 DSL 与 WhereExpression
    • 3.5 多级缓存体系 (Meta.Count / EntityCache / SingleCache)
    • 3.6 反向工程 & 迁移机制
    • 3.7 分表分库 (ShardPolicy)
    • 3.8 事务与缓存一致性
    • 3.9 性能优化手段一览
    1. 快速入门(模型→代码→CRUD)
    1. 高级用法示例
    1. 索引 / 自动方法生成
    1. 分表分库示例
    1. 多数据库配置与容器化
    1. Benchmarks / 实战指标
    1. 常见问题(FAQ 精要)
    1. 生态矩阵
    1. 参与与贡献
    1. 许可证

1. 为什么选 XCode

  • 化繁为简:90% 业务只需单表实体操作,无需手写 SQL。
  • 极致性能:核心主路径多级缓存 + 批量优化 + 内存联表,查询速度可远高于直接写 SQL。
  • 海量数据:原生分页与分表策略,正式项目单表百亿级,适配多种数据库分页算法。
  • 稳定成熟:20+ 年演进,广泛生产验证;保持对老版本 .NET Framework 的兼容(net45 起)。
  • 自动迁移:模型/实体即结构,新增字段上线自动同步,无需额外 SQL 脚本。
  • 分布式演进:原生表级 / 时间 / 主键分片策略,可平滑拆分扩容。
  • 可插拔:DAL 抽象 + Provider 分离,支持自定义数据库适配。

2. 安装与快速体验

NuGet 引用(任一项目):

dotnet add package NewLife.XCode

或使用模板脚手架:

dotnet new install NewLife.Templates
dotnet new xcode --name Demo.Data
cd Demo.Data
dotnet build

强命名证书已内置(newlife.snk),可自行重编译用于企业私有框架。


3. 架构与核心概念

XCode 采用“模型驱动 + 运行时元数据 + 多级缓存 + 可选分片”的分层架构。

3.1 模型与代码生成

XML 模型 (Tables/Columns/Indexes) → 代码生成器(xcodetool 或 VS T4)→ 实体数据类(.cs) + 业务分部类(.Biz.cs)。

  • 数据类:每次生成覆盖,承载字段与基础查询。
  • 业务类:首次生成后不再覆盖,放置自定义逻辑。
  • 支持:索引、唯一约束、默认值、描述、扩展属性、自动方法(FindByXxx / Search)。

3.2 实体运行时

核心接口/类型:

  • IEntity / Entity:充血模型,封装字段、验证、生命周期。
  • IEntityOperate:静态操作入口(Find / FindAll / Query 等)。
  • EntityFactory:实体元数据缓存工厂。
  • EntitySession (Meta.Session):实体在特定连接/表上的上下文,会话级缓存/统计。
  • Meta:实体静态上下文(表结构、字段、缓存、分片策略等)。

3.3 DAL 抽象层

  • DAL / IDatabase / IDbSession:提供统一的数据库访问与元数据操作。
  • Migration 支持 (Off / ReadOnly / On / Full) 控制自动建库建表建字段。
  • CheckTables():启动/首次访问按需异步或同步检查并同步结构。

3.4 查询 DSL

  • WhereExpression:链式 & / | / Contains / Between / Like 等表达式组合。
  • Find / FindAll / Query / PageFindAll 分页。
  • Pager / PageParameter:携带分页、排序、统计 TotalCount、数据权限扩展。

3.5 多级缓存体系

针对“读多写少”模式设计:

  • Meta.Count:快速行数缓存(>1000 时走系统索引;SQLite 有 Max(自增) + 异步精准补偿)。
  • EntityCache (Meta.Cache.Entities):整表缓存(小表 <1000 行推荐,>10000 行禁止)。
  • SingleCache (Meta.SingleCache[key]):主键/从键字典级单对象缓存,适合频繁点查用户等。
  • 过期策略:默认 60s。过期访问立即返回旧数据 + 异步刷新。写操作即时使缓存失效 / 更新。
  • 事务支持:事务中累积修改,提交/回滚后统一处理缓存清空或回滚。

3.6 反向工程 & 迁移

  • 根据实体反向创建/修改表结构、索引,自动维持一致。
  • 支持任意数据库间模型抽取 + 跨库数据迁移(配套工具 DataMigration)。

3.7 分表分库 (ShardPolicy)

  • ShardPolicy 抽象,TimeShardPolicy 示例(按日期生成表名 Table_yyyyMMdd)。
  • 透明路由:业务层仍调用 Find / Insert / Update,不关心实际表名。
  • 可定制主键哈希 / 时间 / 范围等策略。

3.8 事务与缓存一致性

  • 非事务:写操作立即使相关缓存过期并异步重建,同时尝试直接更新内存对象保持读写一致。
  • 事务中:暂不清空整表缓存,仅对命中对象做局部变更;提交后统一清空或刷新,回滚撤销变更。

3.9 性能优化手段一览

  • 多级缓存:避免热点查询落库。
  • 批量写:合并多字段与多记录操作(内部优化)。
  • 分页算法:针对不同 DB / 版本选择最优策略。
  • 惰性/异步:行数、模型检查、缓存刷新均可异步。
  • 反射缓存 / 委托加速:实体属性访问器预热。
  • 内存关联:先缓存主表,再在内存中做“伪联表”。

4. 快速入门

4.1 创建模型 (db.xml)

<?xml version="1.0" encoding="utf-8"?>
<Tables Version="1.0" Output="MyEntity" NameSpace="Model" BaseClass="Entity" ConnName="DB">
  <Table Name="UserInfo" Description="用户信息">
    <Columns>
      <Column Name="Id" 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>

4.2 代码生成

  • 下载 xcodetool.exe 置于目录并双击,或:dotnet tool install xcodetool -g --prereleasexcode db.xml
  • 生成:用户信息.cs(数据类,可覆盖) + 用户信息.Biz.cs(业务类,不再覆盖)。

4.3 CRUD 示例

using XCode;

var user = new UserInfo { UserName="张三", Password="123456", Age=18 };
user.Insert();

var u2 = UserInfo.FindById(user.Id);
u2.Age = 19; 
u2.Update();

var list = UserInfo.FindAll(UserInfo._.Age > 10 & UserInfo._.UserName == "张三");
UserInfo.FindById(user.Id)?.Delete();

使用缓存时:实体数 <1000 → 整表缓存;否则普通查询 / 单对象缓存。


5. 高级用法

5.1 动态条件 / 分页

public static IList<UserInfo> Search(String name, Int32 age, Pager p)
{
    var exp = new WhereExpression();
    if (!name.IsNullOrEmpty()) exp &= UserInfo._.UserName == name;
    if (age > 0) exp &= UserInfo._.Age == age;
    return UserInfo.FindAll(exp, p);
}

5.2 指定更新字段(绕过缓存,不推荐常规使用)

UserInfo.Update(UserInfo._.UserName == "李四" & UserInfo._.Age == 18, UserInfo._.Id == 1);

5.3 自定义排序与列投影

var list = UserInfo.FindAll(UserInfo._.Age > 10, " Age DESC,Id ASC",
    string.Join(",", UserInfo._.UserName, UserInfo._.Age), 0, 20);

6. 索引 / 自动方法

在模型添加:

<Indexes>
  <Index Columns="UserName" Unique="True" />
  <Index Columns="UserName,Age" />
</Indexes>

重新生成后自动出现:FindByUserName、组合条件辅助方法 / Search 模板。 实体缓存策略:Meta.Session.Count < 1000 使用内存集合查找。否则走数据库或单对象缓存。


7. 分表分库示例

Meta.ShardPolicy = new TimeShardPolicy(nameof(UserInfo.Id), Meta.Factory)
{
    ConnPolicy = "{0}",           // 可自定义库名策略
    TablePolicy = "{0}_{1:yyyyMMdd}", // 表名模板
    Step = TimeSpan.FromDays(1)
};

其余 Insert / Query 等代码保持不变,自动路由到对应日期表。


8. 多数据库配置与容器化

  • 默认开发 SQLite(零配置)。
  • 发布时在配置文件或环境变量:XCode_{ConnName}
  • 连接字符串需包含 provider 标识(例:provider=MySql;server=...;user=...;password=...;database=...;)。
  • 支持在同一进程中混用多个数据库连接名称(ConnName)。

9. Benchmarks / 实战指标(节选)

能力 指标(典型环境) 说明
单机 Insert 最高 ~89 万 TPS 批量 / 缓存 + SQLite / 内存盘组合测试
单机 Query 最高 ~18 亿 QPS 小表 + 实体缓存 / 单对象缓存场景
单表数据量 生产百亿级 分页 + 分表策略

实际性能取决于数据库类型 / 硬件 / 分表策略 / 缓存命中率。


10. FAQ 精要

  • 为什么第一次 Count 很快?Meta.Count 走系统索引;SQLite 首次可能取自增最大值再异步精确。
  • 数据更新后多久缓存一致?本进程写操作立即反映;跨进程需等缓存过期或主动失效策略。
  • 可否关闭自动迁移?设置 Migration=Off,或按需使用 ReadOnly/On/Full。
  • 复杂多表查询?推荐多次单表 + 内存关联(缓存命中更快 & 结构更清晰)。

11. 生态矩阵(节选)

组件 说明
NewLife.Core 基础能力:日志 / 配置 / 缓存 / 序列化 / APM / 网络
NewLife.Cube 快速开发平台 + 后台管理(内置代码生成 + 权限)
NewLife.Redis 高性能 Redis 客户端与多功能消息队列
Stardust 分布式服务平台:注册 / 配置 / 追踪 / 发布中心
AntJob 分布式任务 & 大数据离线/实时处理
... 详见下文项目矩阵

12. 参与与贡献

欢迎提交 Issue / PR:

  • 优化性能 / 新增数据库 Provider / 改进文档。
  • 请遵循仓库 .github/copilot-instructions 中代码规范(强命名、多 TFM、XML 注释、条件编译)。
  • 公共 API 变更需给出迁移策略(Obsolete → 移除)。

开发构建:

dotnet restore
dotnet build -c Release

可在 Test / XUnitTest.XCode 中补充案例;性能相关建议附基准或说明。


13. 许可证

MIT,完全开放。允许商用 / 修改 / 再发行(可替换“NewLife”为企业品牌实现私有化)。


追加:原始快速示例(保留)

增删改查(原示例)

var user = new UserInfo();
user.UserName = "张三";
user.Password = "123456";
user.Age = 18;
user.Insert();
Console.WriteLine("插入一条新数据,用户id为:" + user.Id);

var u = UserInfo.FindById(1);
u.UserName = "张三";
u.Password = "123456";
u.Age = 19;
u.Update();

u = UserInfo.FindById(1);
Console.WriteLine($"用户ID={u.Id}已修改岁数,岁数为:{u.Age}");

复杂查询(原示例)

var list = UserInfo.FindAll(UserInfo._.UserName == "张三" & UserInfo._.Age == 19, UserInfo._.UserName.Desc(), string.Join(",", UserInfo._.UserName, UserInfo._.Age), 0, 0);

索引查询(原示例)

public static UserInfo FindByUserName(String userName)
{
    if (userName.IsNullOrEmpty()) return null;
    if (Meta.Session.Count < 1000) return Meta.Cache.Find(e => e.UserName.EqualIgnoreCase(userName));
    return Find(_.UserName == userName);
}

新生命项目矩阵

各项目默认支持net8.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年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。NuGet 累计下载 413万+。团队核心组件(XCode / Redis / Stardust / AntJob / IoT 等)已在电力、工业、交通、环保、医疗、文博等行业大规模应用。

我们持续改进,力求成为值得长期信赖的 .NET / IoT / 分布式技术伙伴。

网站:https://newlifex.com 开源组织:https://github.com/NewLifeX
微信公众号:
智能大石头


如果本项目对你有帮助,欢迎 Star、分享给团队,或通过 Issue/PR 反馈改进建议。

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 (22)

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.Remoting.Extensions

提供WebApi应用级服务端

GitHub repositories (5)

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

Repository Stars
NewLifeX/AntJob
高吞吐 .NET 分布式任务与实时数据调度平台:时间/数据/消息/Cron/SQL/脚本切片,自动重试与弹性扩缩,回溯补算 + Web 控制台。High‑throughput .NET distributed job & real‑time scheduler with fine‑grained slicing, retries, elastic scaling & web console.
NewLifeX/Stardust
星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
NewLifeX/XCoder
新生命码神工具,代码生成、网络工具、API工具、串口工具、正则工具、图标工具、加解密工具、地图接口。
landv/LuYao.Toolkit
LuYao.Toolkit 路遥工具箱
nnhy/BigData
SQLite单表4亿订单,大数据测试
Version Downloads Last Updated
11.22.2025.1112 316 11/12/2025
11.22.2025.1112-beta1825 218 11/12/2025
11.21.2025.1112-beta0601 232 11/12/2025
11.21.2025.1108-beta0939 126 11/8/2025
11.21.2025.1106-beta0327 175 11/6/2025
11.21.2025.1104-beta1602 182 11/4/2025
11.21.2025.1103-beta1441 183 11/3/2025
11.21.2025.1029-beta0929 173 10/29/2025
11.21.2025.1029-beta0756 168 10/29/2025
11.21.2025.1029-beta0730 171 10/29/2025
11.21.2025.1019-beta0109 462 10/19/2025
11.21.2025.1001 1,262 10/1/2025
11.21.2025.1001-beta1735 164 10/1/2025
11.20.2025.921-beta1555 499 9/21/2025
11.20.2025.918-beta1437 287 9/18/2025
11.20.2025.918-beta0014 360 9/18/2025
11.20.2025.915-beta1220 250 9/15/2025
11.20.2025.913-beta0432 100 9/13/2025
11.20.2025.911-beta0352 161 9/11/2025
11.20.2025.910-beta0739 158 9/10/2025
11.20.2025.910-beta0531 158 9/10/2025
11.20.2025.901 1,414 9/1/2025
11.20.2025.901-beta0602 154 9/1/2025
11.20.2025.831-beta0411 153 8/31/2025
11.20.2025.828-beta0756 383 8/28/2025
11.20.2025.828-beta0543 194 8/28/2025
11.20.2025.820-beta1827 435 8/20/2025
11.20.2025.817-beta1750 348 8/17/2025
11.20.2025.801 1,714 8/1/2025
11.20.2025.801-beta0233 120 8/1/2025
11.19.2025.731-beta1440 135 7/31/2025
11.19.2025.730-beta1040 123 7/30/2025
11.19.2025.728-beta1608 144 7/28/2025
11.19.2025.725-beta0524 480 7/25/2025
11.19.2025.724-beta0540 486 7/24/2025
11.19.2025.723-beta0313 559 7/23/2025
11.19.2025.722-beta1456 557 7/22/2025
11.19.2025.722-beta1447 560 7/22/2025
11.19.2025.717-beta0003 177 7/17/2025
11.19.2025.715-beta0718 174 7/15/2025
11.19.2025.715-beta0324 165 7/15/2025
11.19.2025.714-beta0904 158 7/14/2025
11.19.2025.709-beta0112 175 7/9/2025
11.19.2025.706-beta0603 158 7/6/2025
11.19.2025.701 2,060 7/1/2025
11.19.2025.701-beta0829 150 7/1/2025
11.19.2025.701-beta0401 148 7/1/2025
11.19.2025.623-beta1259 188 6/23/2025
11.19.2025.618-beta0934 211 6/18/2025
11.19.2025.616-beta1416 171 6/16/2025
11.19.2025.616-beta0811 185 6/16/2025
11.19.2025.601 1,816 6/1/2025
11.19.2025.601-beta0810 126 6/1/2025
11.19.2025.528-beta1317 179 5/28/2025
11.19.2025.527-beta1546 193 5/27/2025
11.19.2025.527-beta1533 174 5/27/2025
11.19.2025.527-beta1043 258 5/27/2025
11.19.2025.501 1,422 5/1/2025
11.19.2025.501-beta1643 178 5/1/2025
11.18.2025.416-beta1256 249 4/16/2025
11.18.2025.415-beta0624 251 4/15/2025
11.18.2025.412-beta0428 125 4/12/2025
11.18.2025.401 5,108 4/1/2025
11.18.2025.401-beta0702 177 4/1/2025
11.18.2025.313-beta0543 193 3/13/2025
11.18.2025.311-beta0002 187 3/11/2025
11.18.2025.301 1,262 3/1/2025
11.18.2025.301-beta0143 124 3/1/2025
11.18.2025.224-beta1146 161 2/24/2025
11.18.2025.221-beta0926 133 2/21/2025
11.18.2025.217-beta0807 159 2/17/2025
11.18.2025.207-beta0906 148 2/7/2025
11.18.2025.201 1,442 2/1/2025
11.18.2025.201-beta1605 128 2/1/2025
11.17.2025.117-beta1415 560 1/17/2025
11.17.2025.115-beta1225 134 1/15/2025
11.17.2025.114-beta0536 693 1/14/2025
11.17.2025.109-beta1237 369 1/9/2025
11.17.2025.107-beta0601 129 1/7/2025
11.17.2025.103-beta1504 162 1/3/2025
11.17.2025.101 2,535 1/1/2025
11.17.2025.101-beta1139 128 1/1/2025
11.17.2025.101-beta0254 129 1/1/2025
11.17.2024.1231-beta0208 131 12/31/2024
11.17.2024.1230-beta0602 193 12/30/2024
11.16.2024.1225-beta1616 132 12/25/2024
11.16.2024.1211-beta0602 133 12/11/2024
11.16.2024.1208-beta0602 133 12/8/2024
11.16.2024.1202 1,645 12/2/2024
11.16.2024.1202-beta0219 98 12/2/2024
11.16.2024.1130-beta1450 135 11/30/2024
11.16.2024.1128-beta1251 126 11/28/2024
11.16.2024.1128-beta0722 131 11/28/2024
11.16.2024.1127-beta0806 118 11/27/2024
11.16.2024.1124-beta1553 120 11/24/2024
11.16.2024.1124-beta1546 126 11/24/2024
11.16.2024.1123-beta0127 121 11/23/2024
11.16.2024.1119-beta0550 126 11/19/2024
11.16.2024.1114 1,780 11/14/2024
11.16.2024.1114-beta0038 111 11/14/2024
11.16.2024.1113-beta0602 119 11/13/2024
11.16.2024.1112-beta0943 155 11/12/2024
11.16.2024.1112-beta0714 123 11/12/2024
11.16.2024.1111-beta1312 134 11/11/2024
11.16.2024.1101 2,812 11/1/2024
11.16.2024.1101-beta0944 112 11/1/2024
11.16.2024.1029-beta0854 180 10/29/2024
11.16.2024.1027-beta0304 179 10/27/2024
11.16.2024.1020-beta0457 243 10/20/2024
11.16.2024.1005 1,704 10/5/2024
11.16.2024.1005-beta0110 121 10/5/2024
11.16.2024.1004 561 10/4/2024
11.16.2024.1004-beta0640 126 10/4/2024
11.16.2024.1004-beta0609 132 10/4/2024
11.16.2024.917-beta0218 237 9/17/2024
11.15.2024.924-beta0808 114 9/24/2024
11.15.2024.922-beta1046 129 9/22/2024
11.15.2024.920-beta0751 123 9/20/2024
11.15.2024.919-beta1613 125 9/19/2024
11.15.2024.919-beta0037 124 9/19/2024
11.15.2024.918-beta0214 141 9/18/2024
11.15.2024.918-beta0213 139 9/18/2024
11.15.2024.918-beta0137 146 9/18/2024
11.15.2024.916-beta0710 148 9/16/2024
11.15.2024.911-beta0346 146 9/11/2024
11.15.2024.910-beta1153 143 9/10/2024
11.15.2024.910-beta0846 138 9/10/2024
11.15.2024.910-beta0831 122 9/10/2024
11.15.2024.910-beta0821 121 9/10/2024
11.15.2024.910-beta0008 114 9/10/2024
11.15.2024.906-beta1427 145 9/6/2024
11.15.2024.904-beta1118 148 9/4/2024
11.15.2024.903-beta0241 131 9/3/2024
11.15.2024.902 1,873 9/2/2024
11.15.2024.902-beta0550 137 9/2/2024
11.15.2024.826-beta0849 261 8/26/2024
11.15.2024.826-beta0725 127 8/26/2024
11.15.2024.821-beta0719 150 8/21/2024
11.15.2024.816-beta1407 161 8/16/2024
11.15.2024.809-beta0608 216 8/9/2024
11.15.2024.806 1,575 8/6/2024
11.15.2024.805 176 8/5/2024
11.15.2024.805-beta0839 112 8/5/2024
11.15.2024.805-beta0300 119 8/5/2024
11.15.2024.803 186 8/3/2024
11.15.2024.803-beta1714 118 8/3/2024
11.15.2024.801 556 8/1/2024
11.15.2024.801-beta0732 131 8/1/2024
11.14.2024.801-beta0147 133 8/1/2024
11.14.2024.731-beta0606 114 7/31/2024
11.14.2024.730-beta0515 91 7/30/2024
11.14.2024.728-beta1354 464 7/28/2024
11.14.2024.728-beta0617 124 7/28/2024
11.14.2024.727-beta1047 133 7/27/2024
11.14.2024.723-beta0709 360 7/23/2024
11.14.2024.721-beta1230 160 7/21/2024
11.14.2024.719-beta0807 127 7/19/2024
11.14.2024.717-beta0857 123 7/17/2024
11.14.2024.717-beta0606 113 7/17/2024
11.14.2024.716-beta0011 140 7/16/2024
11.14.2024.715-beta1000 131 7/15/2024
11.14.2024.714-beta0545 400 7/14/2024
11.14.2024.710-beta0410 259 7/10/2024
11.14.2024.709-beta0201 177 7/9/2024
11.14.2024.708-beta0857 181 7/8/2024
11.13.2024.701 1,212 7/1/2024
11.13.2024.606 805 6/6/2024
11.13.2024.606-beta0307 130 6/6/2024
11.13.2024.604-beta0826 136 6/4/2024
11.13.2024.604-beta0743 136 6/4/2024
11.13.2024.604-beta0638 142 6/4/2024
11.13.2024.604-beta0556 139 6/4/2024
11.13.2024.603-beta1359 152 6/3/2024
11.13.2024.603-beta0606 150 6/3/2024
11.13.2024.601 279 6/1/2024
11.13.2024.601-beta0425 150 6/1/2024
11.12.2024.528-beta0836 117 5/28/2024
11.12.2024.523-beta0947 158 5/23/2024
11.12.2024.515 1,487 5/15/2024
11.11.2024.417-beta0711 10,209 4/17/2024
11.11.2024.411-beta0756 144 4/11/2024
11.11.2024.410-beta1244 126 4/10/2024
11.11.2024.409-beta0010 161 4/9/2024
11.11.2024.402 1,696 4/2/2024
11.11.2024.402-beta1631 145 4/2/2024
11.11.2024.330-beta0956 315 3/30/2024
11.11.2024.329-beta1049 130 3/29/2024
11.11.2024.327-beta0940 166 3/27/2024
11.11.2024.325-beta1243 130 3/25/2024
11.11.2024.319-beta0029 154 3/19/2024
11.11.2024.315-beta0558 143 3/15/2024
11.11.2024.314-beta1343 153 3/14/2024
11.11.2024.313-beta0204 147 3/13/2024
11.11.2024.307-beta1212 171 3/7/2024
11.11.2024.303 641 3/3/2024
11.11.2024.303-beta0524 151 3/3/2024
11.10.2024.228-beta1456 304 2/28/2024
11.10.2024.228-beta0803 135 2/28/2024
11.10.2024.222-beta0800 157 2/22/2024
11.10.2024.222-beta0744 124 2/22/2024
11.10.2024.216-beta0839 388 2/16/2024
11.10.2024.203 317 2/3/2024
11.10.2024.112-beta1221 523 1/12/2024
11.10.2024.101 1,591 1/1/2024
11.10.2023.1218-beta0938 194 12/18/2023
11.10.2023.1210-beta1346 192 12/10/2023
11.10.2023.1209-beta0038 164 12/9/2023
11.10.2023.1201 2,539 12/1/2023
11.10.2023.1126-beta0047 304 11/26/2023
11.10.2023.1124-beta2252 149 11/24/2023
11.10.2023.1121-beta1004 168 11/21/2023
11.10.2023.1120-beta1457 160 11/20/2023
11.10.2023.1114-beta0656 159 11/14/2023
11.10.2023.1110-beta1324 150 11/10/2023
11.10.2023.1107-beta0007 150 11/7/2023
11.10.2023.1101 1,416 11/1/2023
11.10.2023.1031-beta0023 152 10/31/2023
11.10.2023.1028-beta0100 159 10/28/2023
11.10.2023.1026-beta0051 157 10/26/2023
11.10.2023.1022-beta1416 186 10/22/2023
11.10.2023.1020-beta0112 171 10/20/2023
11.10.2023.1012 1,274 10/12/2023
11.10.2023.1010-beta0956 184 10/10/2023
11.9.2023.930-beta0438 286 9/30/2023
11.9.2023.909-beta0001 235 9/9/2023
11.9.2023.831-beta0724 265 8/31/2023
11.9.2023.831-beta0237 161 8/31/2023
11.9.2023.830-beta0636 190 8/30/2023
11.9.2023.829-beta0727 621 8/29/2023
11.9.2023.826-beta0001 192 8/26/2023
11.9.2023.823-beta1153 349 8/23/2023
11.9.2023.822-beta1617 192 8/22/2023
11.9.2023.822-beta1556 171 8/22/2023
11.9.2023.817-beta0324 210 8/17/2023
11.9.2023.815-beta0614 198 8/15/2023
11.9.2023.812-beta0822 207 8/12/2023
11.9.2023.806-beta1039 217 8/6/2023
11.9.2023.803-beta1733 197 8/3/2023
11.9.2023.801 1,420 8/1/2023
11.9.2023.801-beta0706 224 8/1/2023
11.8.2023.723-beta0540 236 7/23/2023
11.8.2023.711-beta0326 252 7/11/2023
11.8.2023.707-beta0320 531 7/7/2023
11.8.2023.704-beta0217 439 7/4/2023
11.8.2023.628-beta0652 473 6/28/2023
11.8.2023.624-beta0021 461 6/24/2023
11.8.2023.622-beta0043 210 6/22/2023
11.8.2023.609-beta1406 437 6/9/2023
11.8.2023.606-beta1137 211 6/6/2023
11.8.2023.603-beta0000 225 6/3/2023
11.8.2023.601 1,409 6/1/2023
11.8.2023.531-beta0844 221 5/31/2023
11.8.2023.524-beta1609 233 5/24/2023
11.8.2023.523-beta0001 221 5/23/2023
11.8.2023.511-beta0917 828 5/11/2023
11.8.2023.511-beta0019 233 5/11/2023
11.8.2023.510-beta2335 215 5/10/2023
11.8.2023.508-beta2349 229 5/8/2023
11.8.2023.503 1,344 5/3/2023
11.8.2023.503-beta1619 225 5/3/2023
11.8.2023.503-beta1524 213 5/3/2023
11.8.2023.424-beta1320 239 4/24/2023
11.8.2023.422-beta0205 256 4/22/2023
11.8.2023.412-beta1750 588 4/12/2023
11.8.2023.412-beta1557 235 4/12/2023
11.8.2023.409-beta1501 242 4/9/2023
11.8.2023.408-beta0105 246 4/8/2023
11.8.2023.407-beta0633 228 4/7/2023
11.8.2023.405-beta0133 320 4/5/2023
11.8.2023.401 1,558 4/1/2023
11.8.2023.401-beta1724 230 4/1/2023
11.7.2023.401-beta0000 250 4/1/2023
11.7.2023.328-beta1337 452 3/28/2023
11.7.2023.327-beta1514 242 3/27/2023
11.7.2023.324-beta1635 264 3/24/2023
11.7.2023.322-beta1520 2,196 3/22/2023
11.7.2023.322-beta0402 226 3/22/2023
11.7.2023.318-beta0211 272 3/18/2023
11.7.2023.314-beta0127 247 3/14/2023
11.7.2023.312-beta0127 284 3/12/2023
11.7.2023.311-beta1336 235 3/11/2023
11.6.2023.310-beta1209 253 3/10/2023
11.6.2023.307-beta1032 277 3/7/2023
11.6.2023.302 1,317 3/2/2023
11.6.2023.301 1,597 3/1/2023
11.6.2023.301-beta0118 234 3/1/2023
11.5.2023.228-beta0647 232 2/28/2023
11.5.2023.225-beta0332 231 2/25/2023
11.5.2023.225-beta0126 238 2/25/2023
11.5.2023.221-beta1436 283 2/21/2023
11.5.2023.203 2,413 2/3/2023
11.5.2023.203-beta1432 228 2/3/2023
11.5.2023.203-beta1155 227 2/3/2023
11.5.2023.101 2,919 1/1/2023
11.5.2023.101-beta0220 232 1/1/2023
11.5.2022.1224-beta0551 278 12/24/2022
11.5.2022.1223-beta0407 863 12/23/2022
11.5.2022.1217-beta0141 252 12/17/2022
11.5.2022.1212-beta1503 294 12/12/2022
11.5.2022.1201 2,425 12/1/2022
11.5.2022.1201-beta1211 248 12/1/2022
11.4.2022.1201-beta0631 226 12/1/2022
11.4.2022.1129-beta0048 255 11/29/2022
11.4.2022.1119-beta0026 260 11/19/2022
11.3.2022.1117-beta0827 265 11/17/2022
11.3.2022.1112-beta0001 298 11/12/2022
11.3.2022.1106-beta0411 782 11/6/2022
11.3.2022.1105-beta0227 259 11/5/2022
11.3.2022.901 2,925 9/1/2022
11.3.2022.901-beta0314 234 9/1/2022
11.3.2022.821-beta1520 279 8/21/2022
11.3.2022.816-beta0752 306 8/16/2022
11.3.2022.813-beta1439 735 8/13/2022
11.3.2022.810-beta0602 331 8/10/2022
11.2.2022.807-beta0041 268 8/7/2022
11.2.2022.801 2,437 8/1/2022
11.2.2022.801-beta0137 283 8/1/2022
11.2.2022.801-beta0136 281 8/1/2022
11.2.2022.722-beta0846 288 7/22/2022
11.2.2022.701 2,532 7/1/2022
11.2.2022.701-beta1346 252 7/1/2022
11.2.2022.619-beta0936 328 6/19/2022
11.2.2022.616-beta1140 301 6/16/2022
11.2.2022.609-beta1513 291 6/9/2022
11.2.2022.605-beta1607 764 6/5/2022
11.2.2022.605-beta1403 290 6/5/2022
11.2.2022.604 984 6/4/2022
11.2.2022.529-beta2346 435 5/29/2022
11.1.2022.506-beta1454 282 5/6/2022
11.1.2022.501 5,083 5/1/2022
11.1.2022.501-beta0140 271 5/1/2022
11.0.2022.427-beta1600 322 4/27/2022
11.0.2022.427-beta0359 276 4/27/2022
11.0.2022.425-beta1330 294 4/25/2022
11.0.2022.422-beta1322 369 4/22/2022
11.0.2022.415-beta0458 372 4/15/2022
11.0.2022.408-beta0119 598 4/8/2022
11.0.2022.401 2,569 4/1/2022
11.0.2022.320-beta0630 410 3/20/2022
11.0.2022.216-beta2 468 2/16/2022
11.0.2022.202 1,442 2/2/2022
11.0.2022.116-beta1 423 1/16/2022
11.0.2022.101 1,341 12/31/2021
10.3.2021.1225 2,033 12/25/2021
10.3.2021.1216-beta2 391 12/16/2021
10.3.2021.1216-beta1 352 12/16/2021
10.3.2021.1204 2,739 12/4/2021
10.3.2021.1130-beta2 412 11/30/2021
10.3.2021.1124-beta1 3,924 11/25/2021
10.3.2021.1109 2,085 11/9/2021
10.3.2021.1030-beta3 502 10/30/2021
10.3.2021.1020-beta2 466 10/20/2021
10.3.2021.1017-beta1 393 10/17/2021
10.2.2021.1001 2,345 10/1/2021
10.2.2021.923-beta1 410 9/23/2021
10.2.2021.904 1,457 9/4/2021
10.2.2021.826-beta2 445 8/25/2021
10.2.2021.809 1,644 8/9/2021
10.2.2021.723-beta1 613 7/22/2021
10.2.2021.708 1,089 7/8/2021
10.2.2021.618-beta1 418 6/22/2021
10.2.2021.604 1,811 6/7/2021
10.1.2021.525-beta5 397 5/27/2021
10.1.2021.519-beta5 538 5/19/2021
10.1.2021.511-beta3 461 5/11/2021
10.1.2021.505 2,459 5/5/2021
10.1.2021.427-beta3 627 4/27/2021
10.1.2021.420-beta2 477 4/20/2021
10.1.2021.418-beta1 632 4/18/2021
10.1.2021.404 1,869 4/4/2021
10.1.2021.329-rc2 475 3/29/2021
10.1.2021.327-rc1 597 3/27/2021
10.1.2021.320-beta3 456 3/22/2021
10.1.2021.316-beta2 528 3/16/2021
10.1.2021.316-beta1 466 3/16/2021
10.1.2021.310-beta1 440 3/9/2021
10.0.2021.303 2,057 3/3/2021
10.0.2021.224-beta3 588 2/23/2021
10.0.2021.212-beta1 751 2/12/2021
10.0.2021.202 1,914 2/2/2021
10.0.2021.125-beta3 558 1/25/2021
10.0.2021.123-beta3 567 1/23/2021
10.0.2021.120-beta2 480 1/20/2021
10.0.2021.115-beta1 618 1/15/2021
10.0.2021.101 1,608 1/1/2021
10.0.2020.1223-beta2 560 12/23/2020
10.0.2020.1204 1,788 12/4/2020
10.0.2020.1101 1,560 11/1/2020
10.0.2020.1002 1,752 10/2/2020
10.0.2020.930-rc4 572 9/30/2020
10.0.2020.930-rc3 590 9/29/2020
10.0.2020.927-rc2 739 9/26/2020
9.20.2020.922-rc1 606 9/22/2020
9.20.2020.918-beta3 652 9/18/2020
9.20.2020.914-beta2 729 9/14/2020
9.20.2020.912-beta 718 9/12/2020
9.20.2020.901 2,033 9/1/2020
9.19.2020.825-beta8 657 8/24/2020
9.19.2020.802 2,226 8/2/2020
9.18.2020.727-rc3 602 7/27/2020
9.18.2020.725-rc 675 7/25/2020
9.18.2020.719-beta 695 7/18/2020
9.18.2020.701 1,301 7/1/2020
9.18.2020.622-beta 595 6/21/2020
9.17.2020.601 1,496 5/31/2020
9.17.2020.525-rc 735 5/25/2020
9.17.2020.510-beta 598 5/10/2020
9.17.2020.501 1,722 5/1/2020
9.16.2020.425-beta 890 4/25/2020
9.16.2020.421-beta 601 4/21/2020
9.16.2020.403 1,690 4/2/2020
9.16.2020.329-beta 710 3/29/2020
9.16.2020.322-beta 760 3/22/2020
9.16.2020.308 1,764 3/8/2020
9.15.2020.305-rc 680 3/5/2020
9.15.2020.227-cbeta 667 2/27/2020
9.15.2020.219-beta 843 2/19/2020
9.15.2020.217-beta 785 2/17/2020
9.15.2020.204 2,239 2/4/2020
9.14.2020.101 1,595 1/1/2020
9.14.2019.1212 1,901 12/12/2019
9.14.2019.1203 1,367 12/3/2019
9.14.2019.1109 2,443 11/9/2019
9.14.2019.923 1,362 9/24/2019
9.14.2019.822 1,466 8/22/2019
9.13.2019.706 1,818 7/6/2019
9.12.2019.618 1,350 6/23/2019
9.11.2019.602 1,991 6/2/2019
9.11.2019.510 1,219 5/10/2019
9.11.2019.415 1,718 4/15/2019
9.11.2019.406 1,342 4/6/2019
9.11.2019.327 1,291 3/26/2019
9.11.2019.324 1,040 3/24/2019
9.11.2019.320 1,055 3/20/2019
9.11.2019.314 1,240 3/14/2019
9.11.2019.311 1,702 3/10/2019
9.10.6965.42078 1,293 1/26/2019
9.10.6940.24648 1,522 1/1/2019
9.9.6911.41890 1,412 12/3/2018
9.9.6881.41312 2,205 11/3/2018
9.9.6870.42458 1,701 10/23/2018
9.9.6839.35285 1,309 9/22/2018
9.9.6815.39385 1,267 8/29/2018
9.9.6806.38809 1,367 8/20/2018
9.9.6804.36942 1,844 8/18/2018
9.8.6790.27913 1,785 8/4/2018
9.8.6763.36551 2,261 7/8/2018
9.8.6755.22252 1,980 6/30/2018
9.7.6722.39741 2,093 5/28/2018
9.6.6678.32715 2,868 4/14/2018
9.6.6644.19804 2,191 3/13/2018
9.6.6631.1418 2,253 2/25/2018
9.6.6576.132 2,679 1/1/2018
9.6.6542.34608 2,514 11/29/2017
9.6.6504.184 2,327 10/21/2017
9.6.6456.33157 2,312 9/4/2017
9.6.6441.4900 1,709 8/19/2017
9.5.6412.41697 2,494 7/22/2017
9.5.6373.296 1,742 6/12/2017
9.4.6362.19954 2,169 6/2/2017
9.4.6354.28216 1,895 5/25/2017
9.4.6295.19987 1,837 3/27/2017
9.2.6212.2087 2,605 1/2/2017
9.1.6173.29485 1,825 11/25/2016
9.1.6157.20380 1,742 11/9/2016
9.1.6136.28588 1,718 10/19/2016
9.0.6073.30845 1,816 8/17/2016
9.0.6055.30543 1,750 8/9/2016
9.0.5970.32144 2,444 5/6/2016
9.0.5941.32093 1,612 4/7/2016
8.21.5935.36186 1,985 4/1/2016
8.21.5907.30308 2,161 3/4/2016
8.21.5904.30429 2,100 3/1/2016
8.21.5887.40343 2,109 2/13/2016
8.21.5874.34033 2,427 2/4/2016
8.20.5786.32623 1,622 11/4/2015
8.20.5749.18133 2,216 9/28/2015
8.20.5701.19741 1,876 8/11/2015
8.18.5624.26027 2,484 5/27/2015
8.18.5615.3064 1,836 5/16/2015
8.18.5615.2933 2,289 5/16/2015
8.18.5606.36186 2,140 5/8/2015
8.17.5586.37396 2,469 4/18/2015
8.17.5583.27032 1,620 4/15/2015
8.17.5577.38179 1,776 4/9/2015
8.16.5571.6262 2,500 4/2/2015
8.16.5571.4984 1,829 4/2/2015
8.9.5038.20106 2,218 2/13/2016

优化实体的CopyFrom和Merge