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

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

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

      SQLSugar 支持 TDengine 超級表的使用指南

      TDengine 是一款高性能、分布式的時序數(shù)據(jù)庫,廣泛應(yīng)用于物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等領(lǐng)域。其核心概念之一是超級表(Super Table),它類似于傳統(tǒng)數(shù)據(jù)庫中的表結(jié)構(gòu)模板,允許用戶通過標(biāo)簽(Tag)動態(tài)創(chuàng)建和管理子表。SQLSugar 作為一款流行的 ORM 框架,提供了對 TDengine 超級表的支持,使得開發(fā)者能夠更方便地操作 TDengine 數(shù)據(jù)庫。

      本文將介紹如何使用 SQLSugar 操作 TDengine 的超級表,包括創(chuàng)建超級表、查詢子表、插入數(shù)據(jù)等操作。

      1. 創(chuàng)建超級表

      在使用 TDengine 的超級表之前,首先需要在數(shù)據(jù)庫中創(chuàng)建超級表。SQLSugar 提供了 CodeFirst 模式,可以通過代碼自動創(chuàng)建表結(jié)構(gòu)。

      NUGET安裝

      SqlSugar.TDengineCore 最新
      SqlSugarCore  最新

      創(chuàng)建數(shù)據(jù)庫對象

      //程序啟動時加入
      InstanceFactory.CustomAssemblies =
      new System.Reflection.Assembly[] { typeof(TDengineProvider).Assembly };
      
      //創(chuàng)建 db對象    
      var db = new SqlSugarClient(new ConnectionConfig()
        {
            DbType = SqlSugar.DbType.TDengine,
            ConnectionString = Config.ConnectionString,
            IsAutoCloseConnection = true,
            ConfigureExternalServices = new ConfigureExternalServices()
            {
                 EntityService= (property, column) =>
                 {
                     if (column.SqlParameterDbType == null) 
                     {
                         //需要給列加上通用轉(zhuǎn)換,這樣實(shí)體就不需要一個一個轉(zhuǎn)了 
                         column.SqlParameterDbType = typeof(CommonPropertyConvert);
                     }
                 }
            }
        }); 
      
      // 創(chuàng)建超級表
      db.CodeFirst.InitTables<SUsingTagModel>();

      在上述代碼中,SUsingTagModel 是一個實(shí)體類,它映射了 TDengine 中的超級表結(jié)構(gòu)。通過 CodeFirst.InitTables 方法,SQLSugar 會自動在 TDengine 中創(chuàng)建對應(yīng)的超級表。

      2. 定義超級表實(shí)體類

      在 SQLSugar 中,超級表的實(shí)體類需要使用 STableAttribute 來標(biāo)記,并通過 SugarColumn 來定義字段屬性。

       
      [STableAttribute(STableName = "SUsingTagModel", Tag1 = nameof(Tag1))]
      public class SUsingTagModel
      {
          [SqlSugar.SugarColumn(IsPrimaryKey = true)]
          public DateTime Ts { get; set; }
          public bool Boolean { get; set; }
          public string Tag1 { get; set; }
      }
      • STableAttribute 用于標(biāo)記該類為超級表,STableName 指定超級表的名稱,Tag1 指定標(biāo)簽字段。

      • SugarColumn 用于定義字段屬性,IsPrimaryKey 表示該字段為主鍵。

      3. 查詢超級表數(shù)據(jù)

      SQLSugar 提供了 AsTDengineSTable 方法,用于將查詢操作映射到 TDengine 的超級表。

      查詢所有數(shù)據(jù)

      var list1 = db.Queryable<SUsingTagModel>().AsTDengineSTable().ToList();

      查詢特定子表數(shù)據(jù)

      通過 Where 條件可以查詢特定標(biāo)簽的子表數(shù)據(jù)。

      // 查詢子表A
      var tagA = db.Queryable<SUsingTagModel>().AsTDengineSTable().Where(it => it.Tag1 == "a").ToList();
      
      // 查詢子表B
      var tagB = db.Queryable<SUsingTagModel>().AsTDengineSTable().Where(it => it.Tag1 == "b").ToList();

      4. 插入數(shù)據(jù)并動態(tài)創(chuàng)建子表

      在插入數(shù)據(jù)時,SQLSugar 支持根據(jù)標(biāo)簽值動態(tài)創(chuàng)建子表。通過 SetTDengineChildTableName 方法,可以指定子表的命名規(guī)則。

      db.Insertable(new List<SUsingTagModel>(){
          new SUsingTagModel()
          {
              Boolean = true,
              Tag1 = "a",
              Ts = DateTime.Now.AddMilliseconds(1)
          },
          new SUsingTagModel()
          {
              Boolean = true,
              Tag1 = "b",
              Ts = DateTime.Now.AddMilliseconds(3)
          }
      })
      .SetTDengineChildTableName((stableName, it) => $"{stableName}_{it.Tag1}")
      .ExecuteCommand();
      • SetTDengineChildTableName 方法用于指定子表的命名規(guī)則,stableName 是超級表的名稱,it 是當(dāng)前插入的數(shù)據(jù)對象。

      • ExecuteCommand 方法執(zhí)行插入操作,并自動創(chuàng)建子表。

      5. 動態(tài)映射超級表名稱

      在某些場景下,可能需要動態(tài)修改超級表的名稱。SQLSugar 提供了 MappingSTableName 方法,可以在運(yùn)行時動態(tài)映射超級表名稱。

      db.MappingSTableName<SUsingTagModel>("newSName001");
      • MappingSTableName 方法用于動態(tài)修改超級表的名稱,替換實(shí)體類中 STableAttribute 的 STableName 屬性。

      6. 總結(jié)

      通過 SQLSugar 對 TDengine 超級表的支持,開發(fā)者可以更方便地操作 TDengine 數(shù)據(jù)庫。本文介紹了如何使用 SQLSugar 創(chuàng)建超級表、查詢子表、插入數(shù)據(jù)以及動態(tài)映射超級表名稱。這些功能使得 SQLSugar 成為處理 TDengine 數(shù)據(jù)的強(qiáng)大工具,尤其適用于物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等時序數(shù)據(jù)處理場景。

      在實(shí)際開發(fā)中,開發(fā)者可以根據(jù)業(yè)務(wù)需求靈活運(yùn)用這些功能,提升開發(fā)效率并優(yōu)化數(shù)據(jù)庫操作性能。

      posted @ 2025-02-27 12:42  阿妮亞  閱讀(1044)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 成熟熟女国产精品一区二区| 高级会所人妻互换94部分| 在线看无码的免费网站| 中文字幕乱妇无码AV在线| 日本55丰满熟妇厨房伦| 中文精品无码中文字幕无码专区| 中文亚洲成A人片在线观看| 亚洲天堂成人网在线观看| 久久精品国产热久久精品国产亚洲| 久久美女夜夜骚骚免费视频| 中文字幕无码av激情不卡 | 亚洲人成小说网站色在线| 香蕉EEWW99国产精选免费| 欧美成人精品高清在线播放| 中文字幕理伦午夜福利片| 国产欧美日韩视频一区二区三区| 亚洲一区二区三级av| 日韩精品久久不卡中文字幕| 最新精品露脸国产在线| 人妻无码中文专区久久app| 久久不见久久见免费视频观看| 少妇办公室好紧好爽再浪一点| 国产av日韩精品一区二区| 日本韩国一区二区精品| 久久久久国色av免费观看性色| 狠狠综合久久综合88亚洲| 少妇被躁爽到高潮无码文 | 国产精品自在拍首页视频8| 97免费公开在线视频| 精品国产成人亚洲午夜福利| 亚洲中文字幕国产综合| 蜜桃传媒av免费观看麻豆| 精品av一区二区三区不卡| 国产按头口爆吞精在线视频| 剑川县| 国产精品一区二区三区91| 国产欧美综合在线观看第十页 | 日韩精品一区二区亚洲专区| 亚洲综合一区二区三区不卡| 国产亚洲av手机在线观看| 亚洲一区二区三区久久受|