<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>

          .NET CORE 下如何使用國(guó)產(chǎn)數(shù)據(jù)庫(kù)進(jìn)行 開(kāi)發(fā)

          共 5020字,需瀏覽 11分鐘

           ·

          2020-11-06 02:20

          主流國(guó)產(chǎn)數(shù)據(jù)庫(kù)

          隨著貿(mào)易戰(zhàn)的升級(jí),自主研發(fā)和知識(shí)產(chǎn)權(quán)也是一個(gè)大的趨勢(shì),達(dá)夢(mèng)和人大金倉(cāng)是國(guó)產(chǎn)數(shù)據(jù)庫(kù)中比較主流的

          ?

          1、達(dá)夢(mèng)數(shù)據(jù)庫(kù)

          更接近Oracle,更偏向自主研發(fā),對(duì)開(kāi)發(fā)人員友好度不如金倉(cāng)?

          達(dá)夢(mèng)公司在總結(jié)DM系列產(chǎn)品研發(fā)與應(yīng)用經(jīng)驗(yàn)的基礎(chǔ)上,堅(jiān)持開(kāi)放創(chuàng)新、簡(jiǎn)潔實(shí)用的理念,歷經(jīng)五年匠心打磨,推出的新一代自研數(shù)據(jù)庫(kù)。DM8吸收借鑒當(dāng)前先...

          下載地址:

          http://www.dameng.com/down.aspx?TypeId=11&FId=t14:11:14

          安裝步驟:

          選擇Windows版本直接安裝就行可以了,安裝時(shí)需要授權(quán)跳過(guò)即可

          2、人大金倉(cāng)數(shù)據(jù)庫(kù)

          基本上和PgSql一模一樣更貼近開(kāi)發(fā)功能也繼承了pgsql所有功能,對(duì)開(kāi)發(fā)人員比較友好

          Kingbase ES是面向事務(wù)處理類、兼顧分析類應(yīng)用領(lǐng)域的新型數(shù)據(jù)庫(kù)產(chǎn)品,致力于解決高并發(fā)、高可靠數(shù)據(jù)存儲(chǔ)計(jì)算問(wèn)題,是一款面向企事業(yè)單位管理信息系統(tǒng)、業(yè)務(wù)及生產(chǎn)系統(tǒng)、

          決策支持系統(tǒng)等量身打造的承載數(shù)據(jù)庫(kù),目前功能性能已全面升級(jí),是真正具有高成熟度的數(shù)據(jù)庫(kù)產(chǎn)品。

          下載地址:

          https://www.kingbase.com.cn/index/service.html

          安裝步驟:

          1.選擇金倉(cāng)數(shù)據(jù)庫(kù)管理系統(tǒng)

          2、選擇安裝文件包和授權(quán)文件包?

          ?

          ORM?框架選擇

          既然是國(guó)產(chǎn)數(shù)據(jù)庫(kù)那么數(shù)據(jù)庫(kù)ORM也應(yīng)該選擇國(guó)產(chǎn)ORM?,SqlSugar ORM框架是一直更新到現(xiàn)在誕生最早的國(guó)產(chǎn)ORM,出身于2014年距離現(xiàn)在有6年多的時(shí)間

          源碼和國(guó)產(chǎn)數(shù)據(jù)庫(kù)操作DEMO下載地址

          https://github.com/sunkaixuan/SqlSugar?

          ?

          創(chuàng)建項(xiàng)目

          創(chuàng)建.NET Core項(xiàng)目

          Nuget?只需要安裝SqlSugarCore?就可以操作我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)了

          ?

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

          連接字符串格式

          達(dá)夢(mèng)?PORT=5236;DATABASE=DAMENG;HOST=localhost;PASSWORD=SYSDBA;USER ID=SYSDBA

          人大金倉(cāng)?Server=127.0.0.1;Port=54321;UID=SYSTEM;PWD=system;database=SQLSUGAR4XTEST1

          具體代碼如下:

          1

          2

          3

          4

          5

          6

          7

          8

          9

          10

          11

          12

          13

          14


          var?Db =?new?SqlSugarClient(new?ConnectionConfig()

          ????????????{

          ????????????????ConnectionString ?= Config.ConnectionString,

          ????????????????DbType ?= DbType.Dm,//達(dá)夢(mèng)數(shù)據(jù)庫(kù)

          ????????????????IsAutoCloseConnection ?=?true,

          ????????????????InitKeyType ?= InitKeyType.Attribute,

          ????????????????AopEvents ?=?new?AopEvents()

          ????????????????{

          ????????????????????OnLogExecuting ?= (sql, p) =>

          ????????????????????{

          ????????????????????????Console.WriteLine(sql);

          ????????????????????}

          ????????????????}

          ????????????});

          1

          2

          3

          4

          5

          6

          7

          8

          9

          10

          11

          12

          13

          14

          var?Db2 =?new?SqlSugarClient(new?ConnectionConfig()

          ???????????{

          ???????????????ConnectionString ?= Config.ConnectionString,

          ???????????????DbType ?= DbType.Kdbndp,//人大金倉(cāng)數(shù)據(jù)庫(kù)

          ???????????????IsAutoCloseConnection ?=?true,

          ???????????????InitKeyType ?= InitKeyType.Attribute,

          ???????????????AopEvents ?=?new?AopEvents()

          ???????????????{

          ???????????????????OnLogExecuting ?= (sql, p) =>

          ???????????????????{

          ???????????????????????Console.WriteLine(sql);

          ???????????????????}

          ???????????????}

          ???????????});

          ?

          創(chuàng)建實(shí)體

          1

          2

          3

          4

          5

          6

          7

          8

          9

          10

          11

          [SugarTable("STudent")]

          ?public?class?Student

          ??{

          ??????[SugarColumn(IsPrimaryKey ?=?true, IsIdentity =?true)]

          ??????public?int?Id ?{?get;?set; }

          ??????public?int? ?SchoolId {?get;?set; }

          ??????public?string?Name ?{?get;?set; }

          ??????public?DateTime? ?CreateTime {?get;?set; }

          ??????[SugarColumn(IsIgnore=true,NoSerialize ?=true)]

          ??????public?int?TestId ?{?get;?set; }

          ??}


          使用ORM操作數(shù)據(jù)庫(kù)

          具體用法和其它數(shù)據(jù)庫(kù)操作一模一樣

          1

          2

          3

          4

          5

          6

          7

          8

          9

          10

          11

          //查詢
          var ?getAll = db.Queryable().ToList();//查詢所有

          var?getFirst = ?db.Queryable().First(it=>it.Id=1);//查詢單條

          var?getAllNoLock = ?db.Queryable().With(SqlWith.NoLock).ToList();//SqlServer里面的withnolock

          var?getByPrimaryKey = ?db.Queryable().InSingle(2);//根據(jù)主鍵查詢

          var?sum = db.Queryable().Sum(it=>it.Id);//查詢總和

          var?isAny = ?db.Queryable().Where(it=>it.Id==-1).Any();//是否存在

          var?isAny2 = db.Queryable().Any(it ?=> it.Id == -1);

          var?getListByRename = ?db.Queryable().AS("Student").ToList();

          var?getByWhere = db.Queryable().Where(it ?=> it.Id == 1 || it.Name ==?"a").ToList();

          var?list= ?db.Queryable().AS("student2019").ToList();//select * ?from student2019

          var?list2 = db.Queryable().Where(it ?=>it.Name.Contains("jack")).ToList();//模糊查詢?

          ?

          返回List

          1

          List list = ?db.Queryable().ToList();


          返回第一個(gè)實(shí)體

          Student item =db.Queryable().First(it=>it.Id==1);

          ?

          返回DataTable

          DataTabledataTable = db.Queryable().Select(it => it.Id).ToDataTable();

          ?

          返回Json

          var?json =db.Queryable().ToJson();

          返回?cái)?shù)組

          List<int> listInt=db.Queryable().Select(it =>it.Id).ToList();

          返回匿名對(duì)象

          vardynamic?= db.Queryable().Select<dynamic>().ToList();

          ?

          返回到新類

          var?viewModel = db.Queryable((st, sc, di) =>?newJoinQueryInfos(

          JoinType.Left,st.SchoolId == sc.Id,

          JoinType.Left,st.Name == di.String

          ))

          .Select().ToList();

          ?

          多表返回匿名對(duì)象

          var?newDynamic = db.Queryable((st, sc, di) =>newJoinQueryInfos(

          JoinType.Left,st.SchoolId == sc.Id,

          JoinType.Left,st.Name == di.String

          )).Select((st,sc,di)=>new?{ name=st.Name,scid=sc.Id }).ToList();

          ?

          手動(dòng)返回到新類

          var?newClass= db.Queryable((st, sc, di) =>?newJoinQueryInfos(

          JoinType.Left,st.SchoolId == sc.Id,

          JoinType.Left,st.Name == di.String

          )).Select((st,sc,di)=>new?ClassName{ name=st.Name,scid=sc.Id}).ToList();

          ?

          多表查一表

          var?oneClass = db.Queryable((o, i, c) =>?newJoinQueryInfos(

          JoinType.Left,o.Id == i.OrderId,

          JoinType.Left,o.CustomId == c.Id

          ))

          .Select((o, i, c)=> c).ToList();

          ?

          多表返回2

          var?twoClass = db.Queryable((o, i, c) =>?newJoinQueryInfos(

          JoinType.Left,o.Id == i.OrderId,

          JoinType.Left, o.CustomId== c.Id

          ))

          .Select((o, i, c)=>?new?{ o,i}).ToList()

          ?

          返回字典集合

          Liststring,?object>> ListDic = db.Queryable((st, sc, di) =>?newJoinQueryInfos(

          JoinType.Left,st.SchoolId == sc.Id,

          JoinType.Left,st.Name == di.String

          )).Select().ToList().Select(it=> it.ToDictionary(x => x.Key, x => x.Value)).ToList(); ;

          ?

          ?

          ?

          刪除

          db.Deleteable().In(1).ExecuteCommand();

          ?

          更新

          var?result=db.Updateable(updateObj).ExecuteCommand();

          ?

          插入

          db.Insertable(insertObj).ExecuteCommand();

          ?

          除了增刪查改,SqlSugar ORM?還支持很多功能,就不一一演示,一篇文章介紹不完?!?/span>

          ?

          源碼DEMO下載地址:

          https://github.com/sunkaixuan/SqlSugar

          ?出處:

          https://www.cnblogs.com/sunkaixuan/archive/2020/11/01/13909851.html

          版權(quán)申明:本文來(lái)源于網(wǎng)友收集或網(wǎng)友提供,如果有侵權(quán),請(qǐng)轉(zhuǎn)告版主或者留言,本公眾號(hào)立即刪除。


          瀏覽 110
          點(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>
                  Safari帮我打开日韩av三级片 | 欧美另类欧美另类欧美另类 | 高清无码在线免费观看视频 | 国产美女裸体网站 | 无码操逼动漫 |