<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [NewLife.XCode]實體工廠(攔截處理實體操作)

      NewLife.XCode是一個有10多年歷史的開源數據中間件,支持nfx/netcore,由新生命團隊(2002~2019)開發完成并維護至今,以下簡稱XCode。

      整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中,代表作有百億級大數據實時計算項目。

      開源地址:https://github.com/NewLifeX/X (求star, 795+)

       

      如果說前面16篇講的都是XCode的ORM功能,從這一篇開始,將超越ORM之外,從另一個角度講解一個數據中間件!

      實體接口

      有心的同學可以發現,每一個實體類都有實現一個IEntity接口,這就是實體接口。

      實體接口IEntity,抽象實體對象的添刪改存操作,支持訪問臟數據和擴展屬性!

       

      日復一日的寫添刪改查,上進的同學會想,能不能把許多類似的操作給封裝為通用函數?

      這是對IEntity接口的擴展方法,新增時設置CreateTime,每次設置UpdateTime,然后Save保存。

      IEntity支持通過名稱讀寫字段屬性(《臟數據》中有提到實體屬性賦值的三種方法),支持臟數據和添刪改,可以無需反射而實現各種封裝。

      IEntity主要構成:

      • 添刪改存。Insert/Update/Delete/Save/SaveAsync
      • 取值賦值。this[name]/SetItem/CloneEntity/CopyFrom
      • 臟數據。Dirtys/HasDirty/IsDirty(name)
      • 擴展屬性。Extends

       

      實體工廠

      實體工廠接口IEntityOperate,抽象提供實體類的元數據、查詢、事務、設置!

      實體類的各種元數據一般可以通過內嵌靜態類Meta訪問,也可以通過實體工廠接口IEntityOperate訪問,以便于設計各種靈活功能。 

      實體工廠接口IEntityOperate主要構成:

      • 字段屬性信息 Fields/AllFields/FieldNames。最常用,訪問到所有數據屬性的信息
      • 數據表 Table。提供實體類和數據表相關信息
      • 唯一主鍵 Unique。XCode強烈推薦使用唯一主鍵,因為許多特色功能要求有唯一主鍵才能支持
      • 實體會話 Session。提供數據庫查詢與執行的直接操作
      • 分表分庫 TableName/ConnName。接口訪問跟Meta.TableName/Meta.ConnName一樣,可通過對其賦值改變當前線程下使用的表名和連接名,從而實現分表分庫功能
      • 緩存 Cache/SingleCache/Count。實體緩存、對象緩存、總記錄數
      • 查詢數據 Find/FindByKey/FindAll/FindCount
      • 事務 BeginTransaction/Commit/Rollback

       

      場景一:從Http請求中讀取數據并填充到實體屬性

       

      場景二:多個實體類要做修改日志,重載Insert/Update/Delete后調用以下方法,把實體對象中被修改(IsDirty有臟數據)的字段和數值拼成字符串寫入日志表

       

       

       

      總結

      XCode是一個開放性的數據中間件,為各公司團隊打造自己的開發平臺提供鼎力支持!

      在這十多年的發展中,幾乎所有使用XCode的公司團隊,都根據團隊情況和業務需要封裝了自己的快速開發平臺!

       

      系列教程

      NewLife.XCode教程系列[2019版]

      1. 增刪改查入門。快速展現用法,代碼配置連接字符串
      2. 數據模型文件。建立表格字段和索引,名字以及數據類型規范,推薦字段(時間,用戶,IP)
      3. 實體類詳解。數據類業務類,泛型基類,接口
      4. 功能設置。連接字符串,調試開關,SQL日志,慢日志,參數化,執行超時。代碼與配置文件設置,連接字符串局部設置
      5. 反向工程。自動建立數據庫數據表
      6. 數據初始化。InitData寫入初始化數據
      7. 高級增刪改。重載攔截,自增字段,Valid驗證,實體模型(時間,用戶,IP)
      8. 臟數據。如何產生,怎么利用
      9. 增量累加。高并發統計
      10. 事務處理。單表和多表,不同連接,多種寫法
      11. 擴展屬性。多表關聯,Map映射
      12. 高級查詢。復雜條件,分頁,自定義擴展FieldItem,查總記錄數,查匯總統計
      13. 數據層緩存。Sql緩存,更新機制
      14. 實體緩存。全表整理緩存,更新機制
      15. 對象緩存。字典緩存,適用用戶等數據較多場景。
      16. 百億級性能。字段精煉,索引完備,合理查詢,充分利用緩存
      17. 實體工廠。元數據,通用處理程序
      18. 角色權限。Membership
      19. 導入導出。Xml,Json,二進制,網絡或文件
      20. 分表分庫。常見拆分邏輯
      21. 高級統計。聚合統計,分組統計
      22. 批量寫入。批量插入,批量Upsert,異步保存
      23. 實體隊列。寫入級緩存,提升性能。
      24. 備份同步。備份數據,恢復數據,同步數據
      25. 數據服務。提供RPC接口服務,遠程執行查詢,例如SQLite網絡版
      26. 大數據分析。ETL抽取,調度計算處理,結果持久化

       

      posted @ 2019-05-30 13:27  大石頭  閱讀(1678)  評論(10)    收藏  舉報
      主站蜘蛛池模板: 国产又黄又硬又粗| 一区二区三区四区五区自拍| 国产精品男女午夜福利片| 亚洲中文字幕日产无码成人片| 久9re热视频这里只有精品免费| 国产成人精彩在线视频| 大尺度国产一区二区视频| 亚洲一区二区精品极品| 鲁大师在线视频播放免费观看| 永久无码天堂网小说区| 61精品人妻一区二区三区| 日本丰满少妇高潮呻吟| 免费无码肉片在线观看| 国产精品中出一区二区三区| 亚洲成人四虎在线播放| 亚洲中文字幕在线观看| 99热门精品一区二区三区无码| 99久久免费精品国产色| 亚洲中文字幕无码久久精品1| 亚洲一二三区精品美妇| 九九热精品免费视频| 国产91久久精品一区二区| 高清自拍亚洲精品二区| 中文字幕久久精品波多野结| 蜜芽久久人人超碰爱香蕉 | 久久久av波多野一区二区| 噜噜综合亚洲av中文无码| 女性高爱潮视频| 亚洲日韩av无码一区二区三区| 99精品久久毛片a片| 国产精品成人午夜久久| 水蜜桃av导航| 亚洲国产激情一区二区三区| 国产资源精品中文字幕| 陈巴尔虎旗| 国产女同一区二区在线| 亚洲精品漫画一二三区| 久久96国产精品久久久| 色狠狠综合天天综合综合| 乱人伦无码中文视频在线| 男人的天堂av社区在线|