<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Light.Data.Net 輕量級(jí) ORM 框架

          聯(lián)合創(chuàng)作 · 2023-09-30 01:45

          Light.Data是一個(gè)輕量級(jí)的基于dotnet standard 2.0的ORM框架, 通過對(duì)實(shí)體模型類的Attribute或者配置文件進(jìn)行配置與數(shù)據(jù)表的對(duì)應(yīng)關(guān)系. 使用核心類DataContext對(duì)數(shù)據(jù)表進(jìn)行CURD的操作.

          PM> Install-Package Light.Data
          支持?jǐn)?shù)據(jù)庫(kù)
          數(shù)據(jù)庫(kù) 說明
          SqlServer 安裝Light.Data.Mssql類庫(kù), 支持SqlServer 2008或以上
          Mysql 安裝Light.Data.Mysql類庫(kù), 支持Mysql 5.5或以上
          Postgre 安裝Light.Data.Postgre類庫(kù), 支持Postgre9.3或以上

          基本操作

          • 基本CURD
          • 批量CUD
          • 支持事務(wù)處理
          • 支持?jǐn)?shù)據(jù)字段默認(rèn)值和自動(dòng)時(shí)間戳
          • 支持?jǐn)?shù)據(jù)字段讀寫控制
          • 查詢結(jié)果指定類或匿名類輸出
          • 查詢直接插入數(shù)據(jù)表
          var context = new DataContext();
          // 查詢單個(gè)數(shù)據(jù)
          var item = context.Query<TeUser>().Where(x => x.Id == 10).First();
          // 查詢集合數(shù)據(jù)
          var list = context.Query<TeUser>().Where(x => x.Id > 10).ToList();
          // 新增數(shù)據(jù)
          var user = new TeUser() {
              Account = "foo",
              Password = "bar"
          };
          context.Insert(user);
          // 修改數(shù)據(jù)
          user.Password = "bar1";
          context.Update(user);
          // 刪除數(shù)據(jù)
          context.Delete(user);

          數(shù)據(jù)匯總

          • 單列數(shù)據(jù)直接匯總
          • 多列數(shù)據(jù)分組匯總
          • 格式化分組字段
          • 匯總數(shù)據(jù)直接插入數(shù)據(jù)表
          // 普通匯總
          var list = context.Query<TeUser> ()
                            .Where (x => x.Id >= 5)
                            .GroupBy (x => new LevelIdAgg () {
                                LevelId = x.LevelId,
                                Data = Function.Count ()
                             })
                            .ToList ();
          
          // 日期格式化統(tǒng)計(jì)
          var list = context.Query<TeUser> ()
                            .GroupBy (x => new RegDateFormatAgg () {
                                RegDateFormat = x.RegTime.ToString("yyyy-MM-dd"),
                                Data = Function.Count ()
                             })
                            .ToList ();    

          連表查詢

          • 多表連接, 支持內(nèi)連接, 左連接和右連接
          • 支持查詢結(jié)果和匯總數(shù)據(jù)連接
          • 連接查詢結(jié)果指定類或匿名類輸出
          • 連接查詢結(jié)果直接插入數(shù)據(jù)表
          // 內(nèi)連接
          var join = context.Query<TeUser> ()
                            .Join<TeUserExtend>((x,y) => x.Id == y.Id);
          
          // 統(tǒng)計(jì)結(jié)果連接實(shí)體表             
          var join = context.Query<TeMainTable>()
                            .GroupBy(x => new {
                                MId = x.MId,
                                Count = Function.Count(),
                             })
                            .Join<TeSubTable>((x, y) => x.MId == y.Id);

          執(zhí)行SQL語(yǔ)句

          • 直接使用SQL語(yǔ)句和存儲(chǔ)過程
          • 支持對(duì)象參數(shù)
          • 查詢結(jié)果指定類或匿名類輸出
          • 存儲(chǔ)過程支持output參數(shù)
          // 普通參數(shù)
          var sql = "update Te_User set NickName=@P2 where Id=@P1";
          var ps = new DataParameter[2];
          ps[0] = new DataParameter("P1", 5);
          ps[1] = new DataParameter("P2", "abc");
          var executor = context.CreateSqlStringExecutor(sql, ps);
          var ret = executor.ExecuteNonQuery();
          
          // 對(duì)象參數(shù)
          var sql = "update Te_User set NickName={nickname} where Id={id}";
          var executor = context.CreateSqlStringExecutor(sql, new { nickname = "abc", id = 5 });
          var ret = executor.ExecuteNonQuery();

           

          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天堂网手机在线 | 青青艹在线观看 | 黄色国产在线播放 | 黄色网址av | 青青青国产在线观看 |