<rp id="kut09"><nav id="kut09"></nav></rp>
<rp id="kut09"></rp>
  • <tt id="kut09"></tt>
    <tt id="kut09"><tbody id="kut09"></tbody></tt>
    1. <u id="kut09"></u>
    2. <tt id="kut09"><noscript id="kut09"></noscript></tt>
    3. Abp.NHibernate連接PostgreSQl數據庫的方法

       更新時間:2018年01月30日 11:14:59   作者:東騰  
      這篇文章主要為大家詳細介紹了Abp.NHibernate連接PostgreSQl數據庫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

      Abp.NHibernate動態庫連接PostgreSQl數據庫,供大家參考,具體內容如下

      初次接觸Abp框架,其框架中封裝的操作各類數據的方法還是很好用的,本人還在進一步的學習當中,并將利用abp.NHibernate類庫操作PostgreSQL數據的相關方法做一記錄,不足之處讓評論指點扔磚。

      話不多說,直接開干:

      1、vs 新建一個項目,(窗體或者控制臺程序或者測試程序)

      2、NuGet 獲取類庫(adp.NHibernate)

      還需安裝一個pgSQl 對應的驅動

      3、新建一個繼承AbpModule的類,用于配置數據庫連接信息和實體映射的相關信息

      using System.Reflection;
      using Abp.Configuration.Startup;
      using Abp.Modules;
      using Abp.NHibernate;
      using FluentNHibernate.Cfg.Db;
      
      /**
      * 命名空間: abpPgtest
      * 功 能: 配置數據庫
      * 類 名: NhHibernateModel
      * 作 者: 東騰
      * 時 間: 2018/1/29 17:04:27 
      */
      namespace abpPgtest
      {
        [DependsOn(typeof(AbpNHibernateModule))]
        public class NhHibernateModel:AbpModule
        {
          //重寫PreInitialize方法
          public override void PreInitialize()
          {
            var pgStr = "Server=localhost;Port=5432;Database=DTDB;User Id=DT;Password=DT";
      
            var config = Configuration.Modules.AbpNHibernate().FluentConfiguration
              .Database(PostgreSQLConfiguration.Standard.ConnectionString(pgStr));
            config.Mappings(a => a.FluentMappings.AddFromAssembly(Assembly.GetEntryAssembly()));
            //base.PreInitialize();
          }
          //重寫Initialize方法
          public override void Initialize()
          {
            IocManager.RegisterAssemblyByConvention(Assembly.GetCallingAssembly());
            // base.Initialize();
          }
        }
      }
      

      4、新建實體和實體映射

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using Abp.Domain.Entities;
      using Abp.NHibernate.EntityMappings;
      
      /**
      * 命名空間: abpPgtest.testModel
      * 功 能: 數據庫表實體及映射
      * 類 名: testModel
      * 作 者: 東騰
      * 時 間: 2018/1/29 17:21:19 
      */
      namespace abpPgtest.testModel
      {
        public class testModelMap : EntityMap<testModel>
        {
          public testModelMap():base("dt_tb_test")
          {
            //Id(x => x.Id).GeneratedBy.Increment();//數據庫表中沒有自增的Id時需要映射一個Id
            Map(x => x.Company);
            Map(x => x.Name);
      
            //References<userModel>(a => a.Id).Not.LazyLoad().Column("外鍵ID");//數據庫中有關聯表時使用
      
          }
        }
        public class testModel:Entity<int>
        {
          public virtual int Id { get; set; }
      
          public virtual string Name { get; set; }
      
          public virtual string Company { get; set; }
        }
      }
      
      

      5、數據庫中新建表 dt_tb_test

      6、注冊并初始化abp連接

      var bootstrapper = AbpBootstrapper.Create<NhHibernateModel>();
      bootstrapper.Initialize();
      var resp = bootstrapper.IocManager.Resolve<IRepository<testModel>>();

      7、向數據庫中添加數據

      //添加數據
        var model = new testModel
          {
           Name = "東騰",
           Company = "東騰科技"
          };
       resp.Insert(model);
      
      

      打開數據庫查看結果:

      8、更新數據

      //更新數據
        var m = resp.Get(1);
        m.Name = "東騰1";
        resp.Update(m);

      查看結果

      9、查詢數據

      查詢所有的數據

      var allList = resp.GetAllList();

      按照條件進行查詢

      10、刪除數據(可以根據多種方式進行刪除,用id或者where條件進行刪除)

      //刪除數據,更具where條件刪除
        Expression<Func<testModel, bool>> where = a =>a.Id==3;
        resp.Delete(where);
      
      

      id為3的一條數據被刪除

      11、總結:

      abp.NHibernate只是ABP中對NHIbernate的一個封裝,只要正確注冊和訪問數據庫,其余的就是ORM操作數據庫,就簡單了。其他的關系型數據都用類似的做法即可。

      以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

      相關文章

      • PostgreSQL使用IP無法連接的解決方法

        PostgreSQL使用IP無法連接的解決方法

        這篇文章主要介紹了PostgreSQL使用localhost可以連接/使用IP無法連接的問題解決,需要的朋友可以參考下
        2018-01-01
      • Postgresql查詢效率計算初探

        Postgresql查詢效率計算初探

        這篇文章主要給大家介紹了關于Postgresql查詢效率計算的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Postgresql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
        2019-05-05
      • 15個postgresql數據庫實用命令分享

        15個postgresql數據庫實用命令分享

        這篇文章主要介紹了15個實用的postgresql數據庫命令分享,都是一些技巧性的postgresql命令,需要的朋友可以參考下
        2014-07-07
      • PostgreSQL教程(十二):角色和權限管理介紹

        PostgreSQL教程(十二):角色和權限管理介紹

        這篇文章主要介紹了PostgreSQL教程(十二):角色和權限管理介紹,本文講解了數據庫角色、角色屬性、權限、角色成員,需要的朋友可以參考下
        2015-05-05
      • PostgreSQL教程(五):函數和操作符詳解(1)

        PostgreSQL教程(五):函數和操作符詳解(1)

        這篇文章主要介紹了PostgreSQL教程(五):函數和操作符詳解(1),本文講解了邏輯操作符、比較操作符、數學函數和操作符、三角函數列表、字符串函數和操作符等內容,需要的朋友可以參考下
        2015-05-05
      • Linux下創建Postgresql數據庫的方法步驟

        Linux下創建Postgresql數據庫的方法步驟

        PostgreSQL 是一種非常復雜的對象-關系型數據庫管理系統(ORDBMS),也是目前功能最強大,特性最豐富和最復雜的自由軟件數據庫系統。下面這篇文章主要給大家介紹了關于在Linux下創建Postgresql數據庫的方法步驟,需要的朋友可以參考,下面來一起看看吧。
        2017-07-07
      • 在Ubuntu中安裝Postgresql數據庫的步驟詳解

        在Ubuntu中安裝Postgresql數據庫的步驟詳解

        PostgreSQL 是一款強大的,開源的,對象關系型數據庫系統。它支持所有的主流操作系統,包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操作系統。本文給大家介紹了在Ubuntu中安裝Postgresql數據庫的步驟,需要的朋友可以參考下。
        2017-09-09
      • Windows下PostgreSQL安裝圖解

        Windows下PostgreSQL安裝圖解

        這篇文章主要為大家介紹了如果在Windows下安裝PostgreSQL數據庫的方法,需要的朋友可以參考下
        2013-11-11
      • Windows下Postgresql下載與配置方法

        Windows下Postgresql下載與配置方法

        這篇文章主要為大家詳細介紹了Windows下Postgresql下載與配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
        2017-05-05
      • CentOS 7下安裝PostgreSQL 9.6的教程分享

        CentOS 7下安裝PostgreSQL 9.6的教程分享

        PostgreSQL在我心目中的地位要遠遠高于MySQL,雖然流行對比MySQL低很對,但是功能性一致走在MySQL的前面。下面這篇文章主要介紹了CentOS 7下安裝PostgreSQL數據庫的方法,需要的朋友可以參考借鑒,一起來看看吧。
        2017-02-02

      最新評論

      218彩票 www.ahmeterozenci.com:牙克石市| www.manuel-huber.net:锦屏县| www.inhouse-outhouse.com:晋城| www.hg72456.com:榆林市| www.walterosorio.net:巴林右旗| www.dubailandresort.com:淮安市| www.982130.com:昭通市| www.shahnawazenterprises.com:五莲县| www.mobkar.com:芮城县| www.futurecitieschina.com:乐山市| www.electricmassagechair.org:巩义市| www.ef787.com:冷水江市| www.paletteblog.com:罗甸县| www.7weipinhui.com:玉门市| www.canproimmigration.com:舞阳县| www.wwwhg1229.com:孟州市| www.altinfircareklam.com:邻水| www.resetv.com:桐庐县| www.ikanbawal.com:平原县| www.mikestockerphoto.com:汝南县| www.shatac.com:穆棱市| www.catdossettboudoir.com:平阴县| www.n9878.com:河北省| www.wzxj888.com:探索| www.streetpass.org:柘城县| www.knightsvisual.com:图片| www.eegeu.com:繁昌县| www.chaletdemontagne.org:买车| www.n3969.com:莫力| www.xggtw.cn:徐汇区| www.dlbdl.com:汨罗市| www.manuel-huber.net:巴青县| www.52nnt.com:灵璧县| www.rncjw.cn:巴南区| www.johnmarquisford.com:孟津县| www.cedarcoverentals.com:阆中市| www.chinazstv.com:揭阳市| www.kaimasu-online.com:比如县| www.cjgzw.com:黄梅县| www.usbflex.com:隆回县| www.phone-winn4.com:星子县| www.vizarron.com:丰台区| www.zzcsfs.com:阿勒泰市| www.xijiufuheban.com:西安市| www.flowernames.net:泌阳县| www.pme01.com:宜兰县| www.wuxihuahao.com:泰和县| www.bsmartsoft.com:新绛县| www.bsmartsoft.com:彝良县| www.payza-scam.com:馆陶县| www.quizlanka.com:阜宁县| www.safehavenproj.org:东方市| www.rlasurveys.org:湾仔区| www.caefwi.org:确山县| www.sonstudios.org:榕江县| www.chasyostsculpture.com:曲阳县| www.rldmw.cn:扎鲁特旗| www.wobocai.com:克东县| www.maizuyupen.com:庐江县| www.irenecroce.com:漳平市| www.borealmatters.org:太湖县| www.ninareviews.com:晋江市| www.solarisband.com:仙游县| www.yt9168.com:甘谷县| www.dm070.com:兴业县| www.warnarumah.net:土默特右旗| www.kendemao.com:成安县| www.zuyiku.com:商河县| www.shkef.com:康乐县| www.goodnewsbro.com:衡南县| www.rldmw.cn:津市市| www.dictionarios.com:牙克石市| www.aggressive-lawyers.com:乐亭县| www.oxbtest.com:黑龙江省| www.afterindia.com:千阳县| www.dessertsstraightup.com:乌拉特后旗| www.217661.com:沈阳市| www.gbdbn.cn:横峰县| www.niaz711.com:慈溪市| www.sqgdz.com:杨浦区| www.za1953.com:北辰区| www.bethesdauk.com:平泉县| www.fnsbx.cn:太康县| www.elalumbramiento.org:修武县|