濮阳杆衣贸易有限公司

主頁 > 知識庫 > Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫的方法

Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫的方法

熱門標簽:外呼線路資源屬于電信業(yè)務嗎 crm外呼系統(tǒng)聯(lián)系方式 智能外呼系統(tǒng)官網(wǎng) 長沙電銷外呼防封卡是什么 小裙科技電銷機器人怎樣 青白江400企業(yè)電話申請 呼和浩特外呼系統(tǒng)原理是什么 河南電話外呼系統(tǒng)招商 內蒙古營銷智能外呼系統(tǒng)哪個好

Abp.NHibernate動態(tài)庫連接PostgreSQl數(shù)據(jù)庫,供大家參考,具體內容如下

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

話不多說,直接開干:

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

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

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

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

using System.Reflection;
using Abp.Configuration.Startup;
using Abp.Modules;
using Abp.NHibernate;
using FluentNHibernate.Cfg.Db;

/**
* 命名空間: abpPgtest
* 功 能: 配置數(shù)據(jù)庫
* 類 名: 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
* 功 能: 數(shù)據(jù)庫表實體及映射
* 類 名: testModel
* 作 者: 東騰
* 時 間: 2018/1/29 17:21:19 
*/
namespace abpPgtest.testModel
{
  public class testModelMap : EntityMaptestModel>
  {
    public testModelMap():base("dt_tb_test")
    {
      //Id(x => x.Id).GeneratedBy.Increment();//數(shù)據(jù)庫表中沒有自增的Id時需要映射一個Id
      Map(x => x.Company);
      Map(x => x.Name);

      //ReferencesuserModel>(a => a.Id).Not.LazyLoad().Column("外鍵ID");//數(shù)據(jù)庫中有關聯(lián)表時使用

    }
  }
  public class testModel:Entityint>
  {
    public virtual int Id { get; set; }

    public virtual string Name { get; set; }

    public virtual string Company { get; set; }
  }
}

5、數(shù)據(jù)庫中新建表 dt_tb_test

6、注冊并初始化abp連接

var bootstrapper = AbpBootstrapper.CreateNhHibernateModel>();
bootstrapper.Initialize();
var resp = bootstrapper.IocManager.ResolveIRepositorytestModel>>();

7、向數(shù)據(jù)庫中添加數(shù)據(jù)

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

打開數(shù)據(jù)庫查看結果:

8、更新數(shù)據(jù)

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

查看結果

9、查詢數(shù)據(jù)

查詢所有的數(shù)據(jù)

var allList = resp.GetAllList();

按照條件進行查詢

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

//刪除數(shù)據(jù),更具where條件刪除
  ExpressionFunctestModel, bool>> where = a =>a.Id==3;
  resp.Delete(where);

id為3的一條數(shù)據(jù)被刪除

11、總結:

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

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

您可能感興趣的文章:
  • Python實現(xiàn)連接postgresql數(shù)據(jù)庫的方法分析
  • Java連接postgresql數(shù)據(jù)庫的示例代碼
  • Node.js連接postgreSQL并進行數(shù)據(jù)操作
  • Python連接PostgreSQL數(shù)據(jù)庫的方法
  • php連接與操作PostgreSQL數(shù)據(jù)庫的方法
  • PostgreSQL數(shù)據(jù)庫服務端監(jiān)聽設置及客戶端連接方法教程

標簽:楚雄 白山 呼倫貝爾 安順 菏澤 池州 舟山 黃石

巨人網(wǎng)絡通訊聲明:本文標題《Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫的方法》,本文關鍵詞  Abp.NHibernate,連接,PostgreSQl,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫的方法》相關的同類信息!
  • 本頁收集關于Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    罗定市| 图们市| 富锦市| 喜德县| 南阳市| 通化市| 洛隆县| 高陵县| 富锦市| 靖远县| 龙南县| 玛曲县| 南城县| 左贡县| 延边| 磴口县| 鹤壁市| 于田县| 黎城县| 涞源县| 柳林县| 海兴县| 准格尔旗| 富阳市| 崇明县| 阜宁县| 安达市| 永康市| 广安市| 恩施市| 江津市| 叙永县| 衡阳市| 白城市| 石嘴山市| 阳新县| 定襄县| 常熟市| 屏南县| 罗山县| 禄丰县|