亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【開源】自己用的數(shù)據(jù)訪問組件及一些小東西,發(fā)

系統(tǒng) 2478 0

前言

加入博客園很久很久了,中間寫過一些東西,都沒有發(fā)出來,很多草稿都刪除了,不知道不覺距離上次寫的那篇MVC的文章已經(jīng)一年多了..

很早都想把自己的東西分享給大家,但是一是自己太懶,二是總覺得自己寫得不夠好,現(xiàn)在也算是鞭笞一下自己來寫寫博客,方便他人也提升一下自己。

注意:本人的東西都沒有經(jīng)過詳細(xì)的壓力測試及其它測試,僅僅只是自己寫來自己一直在使用,如果對(duì)你有一點(diǎn)點(diǎn)幫助我的目的也就達(dá)到了,如果是大神則很抱歉浪費(fèi)了您的時(shí)間。

那么進(jìn)入正題吧!

一,項(xiàng)目開源地址

1,數(shù)據(jù)訪問Never.Net: https://coding.net/u/jiyang/p/Never.Net/git

2,DoNet學(xué)習(xí)項(xiàng)目Learn.net: https://coding.net/u/jiyang/p/Learn.net/git

3,通用采集器NCollector: https://coding.net/u/jiyang/p/NCollector/git

暫時(shí)只整理了3個(gè)項(xiàng)目,都不完善甚至有些粗糙,我也會(huì)有時(shí)間就去升級(jí)一下,只希望對(duì)大家有那么一點(diǎn)點(diǎn)幫助

二,Never.NET介紹及使用

Never.net是我花了最多時(shí)間去維護(hù)的第一個(gè)數(shù)據(jù)庫訪問項(xiàng)目,從最早的用字典生成插入及修改語句的helper到后面解析lamda表達(dá)式(到現(xiàn)在都還很弱),現(xiàn)在還使用在一些小項(xiàng)目中,也算有些歷史了,它是一個(gè)超自由的數(shù)據(jù)訪問庫,有多自由呢?先看幾個(gè)例子吧!

從最基本的添加,修改,刪除,查詢說起:

1,添加數(shù)據(jù)

      
         1
      
      
        //
      
      
        默認(rèn)加載配置文件的第一個(gè)連接串配置
      
      
         2
      
      
        using
      
       (DbContext db = 
      
        new
      
      
         DbContext()) 

      
      
         3
      
      
                    {

      
      
         4
      
                       context.Debug = 
      
        true
      
      ;
      
        //
      
      
        打開調(diào)試
      
      
         5
      
                       context.LogOutputAction = msg =>  
      
        //
      
      
        設(shè)置日志輸出方式為控制臺(tái)輸出
      
      
         6
      
      
                        {

      
      
         7
      
      
                            Console.WriteLine(msg.ToString());

      
      
         8
      
      
                        };

      
      
         9
      
      
        //
      
      
        語句插入
      
      
        10
      
                       db.FromSql(
      
        "
      
      
        insert into demo(id,item)values(@id,@item)
      
      
        "
      
      
        )

      
      
        11
      
                         .AddParameter(
      
        "
      
      
        @id
      
      
        "
      
      , 
      
        1
      
      
        )

      
      
        12
      
                         .AddParameter(
      
        "
      
      
        @item
      
      
        "
      
      , 
      
        "
      
      
        adfadsf
      
      
        "
      
      
        )

      
      
        13
      
      
                          .ExecuteNonQuery();

      
      
        14
      
      
        //
      
      
        設(shè)置插入
      
      
        15
      
                       db.Insert(
      
        "
      
      
        demo
      
      
        "
      
      
        )

      
      
        16
      
                         .Set(
      
        "
      
      
        id
      
      
        "
      
      , 
      
        1
      
      ) 
      
        //
      
      
        自動(dòng)使用參數(shù)化
      
      
        17
      
                         .Set(
      
        "
      
      
        item
      
      
        "
      
      , 
      
        "
      
      
        adsfa
      
      
        "
      
      
        )

      
      
        18
      
                         .Save();
      
        //
      
      
        SaveReturnIdentity返回標(biāo)識(shí)列

      
      
        19
      
      
        //
      
      
        orm插入
      
      
        20
      
                       db.Insert(
      
        new
      
       Demo() { Id = 
      
        1
      
      , Item = 
      
        "
      
      
        adsfasd
      
      
        "
      
      
         }).Save();

      
      
        21
      
      
        //
      
      
        混合使用
      
      
        22
      
                       db.Insert<Demo>
      
        ()

      
      
        23
      
                         .Set(t => t.Id, 
      
        1
      
      
        )

      
      
        24
      
                         .Set(
      
        "
      
      
        item
      
      
        "
      
      , 
      
        "
      
      
        item1
      
      
        "
      
      
        )

      
      
        25
      
      
                          .Save();

      
      
        26
      
      
        //
      
      
        事務(wù)
      
      
        27
      
      
                        db.BeginTransaction();

      
      
        28
      
      
        var
      
        i = 
      
        0
      
      
        ;

      
      
        29
      
                       i += db.Insert(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        1
      
      
        "
      
      
         }).Save();

      
      
        30
      
                       i += db.Insert(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        2
      
      
        "
      
      
         }).Save();

      
      
        31
      
                       i += db.Insert(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        3
      
      
        "
      
      
         }).Save();

      
      
        32
      
                       i += db.Insert(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        4
      
      
        "
      
      
         }).Save();

      
      
        33
      
                       i += db.Insert(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        5
      
      
        "
      
      
         }).Save();

      
      
        34
      
      
        var
      
       b =
      
         db.Commit();

      
      
        35
      
                   }
    

2,修改數(shù)據(jù)

      
         1
      
      
        //
      
      
        語句
      
      
         2
      
                       db.FromSql(
      
        "
      
      
        update item set item=@item
      
      
        "
      
      
        )

      
      
         3
      
                         .AddParameter(
      
        "
      
      
        @item
      
      
        "
      
      , 
      
        "
      
      
        updated
      
      
        "
      
      
        )

      
      
         4
      
      
                          .ExecuteNonQuery();

      
      
         5
      
      
        //
      
      
        設(shè)置
      
      
         6
      
                       db.Update(
      
        "
      
      
        demo
      
      
        "
      
      
        )

      
      
         7
      
                         .Set(
      
        "
      
      
        id
      
      
        "
      
      , 
      
        1
      
      ) 
      
        //
      
      
        自動(dòng)使用參數(shù)化
      
      
         8
      
                         .Set(
      
        "
      
      
        item
      
      
        "
      
      , 
      
        "
      
      
        adsfa
      
      
        "
      
      
        )

      
      
         9
      
                         .Save();
      
        //
      
      
        SaveReturnIdentity返回標(biāo)識(shí)列

      
      
        10
      
      
        //
      
      
        orm
      
      
        11
      
                       db.Update(
      
        new
      
       Demo() { Id = 
      
        1
      
      , Item = 
      
        "
      
      
        adsfasd
      
      
        "
      
      
         }).Save();

      
      
        12
      
      
        //
      
      
        混合使用
      
      
        13
      
                       db.Update<Demo>
      
        ()

      
      
        14
      
                         .Set(t => t.Id, 
      
        1
      
      
        )

      
      
        15
      
                         .Set(
      
        "
      
      
        item
      
      
        "
      
      , 
      
        "
      
      
        item1
      
      
        "
      
      
        )

      
      
        16
      
      
                          .Save();

      
      
        17
      
      
        //
      
      
        事務(wù)
      
      
        18
      
      
                        db.BeginTransaction();

      
      
        19
      
      
        var
      
        i = 
      
        0
      
      
        ;

      
      
        20
      
                       i += db.Update(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        1
      
      
        "
      
      
         }).Save();

      
      
        21
      
                       i += db.Update(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        2
      
      
        "
      
      
         }).Save();

      
      
        22
      
                       i += db.Update(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        3
      
      
        "
      
      
         }).Save();

      
      
        23
      
                       i += db.Update(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        4
      
      
        "
      
      
         }).Save();

      
      
        24
      
                       i += db.Update(
      
        new
      
       Demo() { Item = 
      
        "
      
      
        5
      
      
        "
      
      
         }).Save();

      
      
        25
      
      
        var
      
       b = db.Commit();
    

3,刪除

      
         1
      
       db.FromSql(
      
        "
      
      
        delete from demo where id=@id
      
      
        "
      
      
        )

      
      
         2
      
                         .AddParameter(
      
        "
      
      
        @id
      
      
        "
      
      , 
      
        1
      
      
        )

      
      
         3
      
      
                          .ExecuteNonQuery();

      
      
         4
      
                       db.Delete(
      
        "
      
      
        demo
      
      
        "
      
      ).Where(
      
        "
      
      
        id={0}
      
      
        "
      
      , 
      
        1
      
      
        )

      
      
         5
      
                                        .Where(
      
        "
      
      
        item=@item
      
      
        "
      
      
        )

      
      
         6
      
                                        .AddParameter(
      
        "
      
      
        @item
      
      
        "
      
      , 
      
        "
      
      
        fadf
      
      
        "
      
      
        )

      
      
         7
      
      
                                         .Save();

      
      
         8
      
                       db.Delete<Demo>(t => t.Id == 
      
        1
      
      
        )

      
      
         9
      
                         .Where(
      
        "
      
      
        id=2
      
      
        "
      
      
        )

      
      
        10
      
                         .Save();
    

4,查詢

      
         1
      
                       db.From(
      
        "
      
      
        demo
      
      
        "
      
      
        )

      
      
         2
      
                         .Where(
      
        "
      
      
        id={0}
      
      
        "
      
      ,
      
        1
      
      
        )

      
      
         3
      
                         .Take(
      
        10
      
      
        )

      
      
         4
      
                         .Columns(
      
        "
      
      
        id,item
      
      
        "
      
      
        )

      
      
         5
      
                         .OrderBy(
      
        "
      
      
        id desc
      
      
        "
      
      
        )

      
      
         6
      
                         .ToList<Demo>();
      
        //
      
      
        ToDataReader(),ToDataSet(),其它
      
      
         7
      
                       db.From<Demo>
      
        ()

      
      
         8
      
                         .Where(t=>t.Id==
      
        1
      
      
        )

      
      
         9
      
                         .Where(
      
        "
      
      
        id=1
      
      
        "
      
      
        )

      
      
        10
      
                         .OrderByDesc(t=>
      
        t.Id)

      
      
        11
      
                         .Columns(t=>
      
        new
      
      
        {t.Id,t.Item})

      
      
        12
      
      
                          .ToList();

      
      
        13
      
      
        //
      
      
        分頁
      
      
        14
      
      
        var
      
       selecter = db.From<Demo>().Where(t=>t.Id==
      
        1
      
      
        );

      
      
        15
      
      
        var
      
       recordCout =
      
         selecter.Count();

      
      
        16
      
      
        var
      
       list = selecter.Page(
      
        1
      
      ,
      
        10
      
      ).ToList();    
    

基本的操作在上面的例子中有寫出,但是更多的功能還期待使用者去發(fā)現(xiàn),Never.Data并未使用兼容所有數(shù)據(jù)庫,但是可以很方便的寫一個(gè)不同的語句生成類繼承DbDriver來實(shí)現(xiàn)不同的數(shù)據(jù)庫操作功能,Never.Net基本介紹到此結(jié)束.

其它項(xiàng)目簡要介紹:

Learn.Net:這個(gè)東西現(xiàn)在還是個(gè)坑,只是為了把學(xué)習(xí)的東西放到一個(gè)項(xiàng)目中,以便需要的時(shí)間查詢和查看demo,同時(shí)也可以把一些做過的功能集合到一起,以后換工作或者在其它地方不用攜帶你的U盤

NCollector:是一個(gè)基于jumony實(shí)現(xiàn)的網(wǎng)站采集器項(xiàng)目,項(xiàng)目本身帶有一個(gè)測試的access數(shù)據(jù)庫及采集工具和采集服務(wù)(實(shí)現(xiàn)自動(dòng)采集功能),框架已搭好并實(shí)現(xiàn)了一些視頻采集器,擴(kuò)展超方便只需要實(shí)現(xiàn)采集基類實(shí)現(xiàn)一個(gè)列表頁的采集功能就可以了,工具服務(wù)只需要配置一下數(shù)據(jù)庫連接就可以直接在項(xiàng)目中使用

另外,近期在整個(gè)一個(gè)mvc4+never.net+j-ui的項(xiàng)目,不過最近老婆要生寶寶,可能會(huì)晚一些,到時(shí)也會(huì)分享給大家。

最后:以上所有項(xiàng)目,有興趣一起開發(fā)的可以給我發(fā)郵件:crazytester@qq.com

?

【開源】自己用的數(shù)據(jù)訪問組件及一些小東西,發(fā)揚(yáng)博客園分享精神


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美性天天影院欧美狂野 | 岛国大片在线观看 | 欧美激情视频二区 | 曰本女人一级毛片看一级毛 | 激情 婷婷 | 精品综合网 | 国产成人一区二区三区 | 久草首页在线 | 亚洲精品一二三区-久久 | 国产精品v一区二区三区 | 四虎影视4hutv最新地址在线 | 久久久综合九色合综国产 | 国产精品片 | 26uuu欧美| 久久伊人久久 | 欧美精 | 日韩精品综合 | 99久久网| 免费高清毛片 | 日韩国产欧美一区二区三区 | 久久成人免费视频 | 久久精品在现线观看免费15 | 精品中文字幕久久久久久 | 精品久久久久久中文字幕女 | 久久精品国产亚洲网站 | 国产高清视频 | 久久最新免费视频 | 在线欧美 | 2020国产精品视频 | 日韩欧美国产成人 | 成人网视频 | 国产福利在线免费 | 精品欧美日韩一区二区三区 | 久久草在线视频观看 | 欧美午夜场 | 亚洲韩国日本一级二级r级 亚洲韩精品欧美一区二区三区 | 久久精品亚洲精品国产色婷 | 亚洲五月婷婷 | 91免费精品国自产拍在线不卡 | 久久国产免费福利永久 | 男人天堂网在线视频 |