NewLife.XCodeは、オープンソースのミドルウェアの10年の歴史あるデータ、サポートNFX / netcore、チーム新生活(2019年から2002年)を開発し、これまで維持し、以下のXCodeと呼ばれます。
このシリーズは、サンプルコードと実行ログで詳細な分析に実質的に接続されますを通じて、それがリアルタイムシステムのプロジェクトに百億ビッグデータの代表での開発経験の多くの年が含まれています。
オープンソースアドレス:https://github.com/NewLifeX/X (795+、スターを請います)
フロントはXCodeのORM機能のすべての16は、最初から、ORM加算を上回るだろうと述べた場合は、別の観点からのミドルウェアデータを説明します!
エンティティインタフェース
各エンティティクラスを見つけることができると判定学生は物理インターフェイスですIEntityインターフェースを実現しています。
物理インターフェイスIEntity、ティム抽象エンティティオブジェクトの削除預金業務は、ダーティデータと拡張属性へのアクセスをサポート!
ティム日調査後の切除書き込み日、やる気の学生は、一般的な機能をカプセル化するために、多くの同様の操作を置くことができる、と思うだろうか?
新しい、各時間はUpdateTime、[保存]を設定するときにこれがIEntityは、インタフェースのメソッドを拡張し、CREATETIMEに設定されています。
IEntityフィールドは(名前で読み書きをサポート属性、「ダーティデータを」物理的なプロパティの割り当てを述べた3つの方法があります。)、およびサポートダーティデータの改ざんを追加し、パッケージのさまざまなを反映せずに実現することができます。
IEntity主なコンポーネント:
- 添删改存.Insert /更新/削除/保存/ SaveAsync
- 値の割り当て。この[名前] / SetItem関数/ CloneEntity / CopyFrom
- ダーティデータ。Dirtys / HasDirty / IsDirty(名)
- 拡張属性。拡張
物理プラント
エンティティ工場インターフェースIEntityOperateは、抽象エンティティクラスは、メタデータは、クエリは、トランザクションは、設定し提供しています!
一般に、様々なメタデータエンティティクラスは、メタにより構築された物理的な植物は、可撓性のさまざまな機能を設計するために静的なクラスにアクセスIEntityOperateインタフェースを介してアクセスすることができます。
エンティティファクトリインタフェースIEntityOperate主要コンポーネント:
- フィールドは情報フィールド/ AllFields /フィールド名を属性。すべてのデータの属性情報に最も一般的な、アクセス
- データテーブル表。エンティティクラスとデータ情報のテーブルを提供します
- ユニークなプライマリキーユニーク。機能の多くは、ユニークなプライマリキーをサポートするために必要なので、XCodeのは強く、ユニークなプライマリキーを使用することをお勧めします
- エンティティセッションのセッション。データベースクエリを実行し、直接操作を実現
- サブテーブル及び倉庫のTableName / ConnName。サブメートルサブライブラリ機能を実現するために、現在のスレッドの下で使用されるその変更テーブルと接続名によって割り当てることができるようにMeta.TableName / Meta.ConnNameとアクセスするためのインタフェース
- キャッシュキャッシュ/ SingleCache /カウント。エンティティキャッシュ、オブジェクトキャッシュ、レコードの総数
- クエリーデータの検索/ FindByKey /のfindAll / FindCount
- 事务でBeginTransaction /コミット/ロールバック
シーンワン:HTTPの要求物性からデータを読み込み、充填します
シーン2:エンティティクラスの複数のログを変更するか、このメソッドを呼び出した後挿入/更新/削除、エンティティオブジェクトを変更する(IsDirtyダーティデータ)をオーバーロードログテーブルに書き込まれた文字列フィールドと値を構成します
概要
Xcodeは、独自のプラットフォームを作成するために、同社の開発チームのためのフルサポートを提供し、オープンミドルウェアデータです!
開発の10年間で、ほぼすべての企業がXCodeのチームを使用して、すべてのチームの状況や自身の迅速な開発プラットフォームをカプセル化する必要性に基づいて!
チュートリアルシリーズ
NewLife.XCodeチュートリアルシリーズ[2019年版]
- CRUDエントリ。接続文字列を設定するには、クイックショーの使用コード
- データモデルファイル。フォームフィールドとインデックス、名前とデータ型の仕様を作成し、推奨フィールド(時間、ユーザー、IP)
- 詳細なエンティティクラス。データトラフィックのクラス型、汎用の基本クラス、インタフェース
- 機能セット。接続文字列、デバッグ、SQLログ、スローログ、パラメトリック、実行のタイムアウト。コードプロファイル設定、接続文字列部分集合
- 反向工程。自动建立数据库数据表
- 数据初始化。InitData写入初始化数据
- 高级增删改。重载拦截,自增字段,Valid验证,实体模型(时间,用户,IP)
- 脏数据。如何产生,怎么利用
- 增量累加。高并发统计
- 事务处理。单表和多表,不同连接,多种写法
- 扩展属性。多表关联,Map映射
- 高级查询。复杂条件,分页,自定义扩展FieldItem,查总记录数,查汇总统计
- 数据层缓存。Sql缓存,更新机制
- 实体缓存。全表整理缓存,更新机制
- 对象缓存。字典缓存,适用用户等数据较多场景。
- 百亿级性能。字段精炼,索引完备,合理查询,充分利用缓存
- 实体工厂。元数据,通用处理程序
- 角色权限。Membership
- 导入导出。Xml,Json,二进制,网络或文件
- 分表分库。常见拆分逻辑
- 高级统计。聚合统计,分组统计
- 批量写入。批量插入,批量Upsert,异步保存
- 实体队列。写入级缓存,提升性能。
- 备份同步。备份数据,恢复数据,同步数据
- 数据服务。提供RPC接口服务,远程执行查询,例如SQLite网络版
- 大数据分析。ETL抽取,调度计算处理,结果持久化