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

【開源】自己用的數據訪問組件及一些小東西,發

系統 2109 0

前言

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

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

注意:本人的東西都沒有經過詳細的壓力測試及其它測試,僅僅只是自己寫來自己一直在使用,如果對你有一點點幫助我的目的也就達到了,如果是大神則很抱歉浪費了您的時間。

那么進入正題吧!

一,項目開源地址

1,數據訪問Never.Net: https://coding.net/u/jiyang/p/Never.Net/git

2,DoNet學習項目Learn.net: https://coding.net/u/jiyang/p/Learn.net/git

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

暫時只整理了3個項目,都不完善甚至有些粗糙,我也會有時間就去升級一下,只希望對大家有那么一點點幫助

二,Never.NET介紹及使用

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

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

1,添加數據

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

      
      
         3
      
      
                    {

      
      
         4
      
                       context.Debug = 
      
        true
      
      ;
      
        //
      
      
        打開調試
      
      
         5
      
                       context.LogOutputAction = msg =>  
      
        //
      
      
        設置日志輸出方式為控制臺輸出
      
      
         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
      
      
        //
      
      
        設置插入
      
      
        15
      
                       db.Insert(
      
        "
      
      
        demo
      
      
        "
      
      
        )

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

      
      
        18
      
                         .Save();
      
        //
      
      
        SaveReturnIdentity返回標識列

      
      
        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
      
      
        //
      
      
        事務
      
      
        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,修改數據

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

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

      
      
         4
      
      
                          .ExecuteNonQuery();

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

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

      
      
         9
      
                         .Save();
      
        //
      
      
        SaveReturnIdentity返回標識列

      
      
        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
      
      
        //
      
      
        事務
      
      
        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();    
    

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

其它項目簡要介紹:

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

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

另外,近期在整個一個mvc4+never.net+j-ui的項目,不過最近老婆要生寶寶,可能會晚一些,到時也會分享給大家。

最后:以上所有項目,有興趣一起開發的可以給我發郵件:crazytester@qq.com

?

【開源】自己用的數據訪問組件及一些小東西,發揚博客園分享精神


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产线路一 | 亚洲视频a | 日本手机在线视频 | 精品国产网站 | 国产一区亚洲 | 91在线| 久久99国产精品久久99无号码 | 99热在线国产 | 久久精品国产6699国产精 | 中文字幕免费在线播放 | 99精品高清不卡在线观看 | 99视频全部免费 | 国产精品永久免费 | 又粗又大的机巴好爽视频视频 | 成人免费毛片观看 | 日韩在线国产 | 91精品论坛| 久草在线免费资源 | 天天干天天插天天 | 美国毛片aaa在线播放 | 久久性网 | 日本人在线看片 | 成人黄色一级视频 | 香蕉网在线播放 | 国产精品天天操 | 一级做a爰片久久毛片唾 | 中文字幕美日韩在线高清 | 成人激情在线视频 | 奇米色在线 | 久久久久国产午夜 | 国产日产精品久久久久快鸭 | 亚洲激情在线看 | 久热在线观看 | 国产福利一区二区三区在线视频 | 天天爽夜夜爽视频 | 国产在线观看自拍 | 亚洲欧美日韩国产综合 | 一级免费a| 国内自拍青青草 | 国产精品100页 | 亚洲天堂三级 |