麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > PostgreSQL > 正文

Abp.NHibernate連接PostgreSQl數據庫的方法

2020-01-31 15:21:22
字體:
來源:轉載
供稿:網友

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操作數據庫,就簡單了。其他的關系型數據都用類似的做法即可。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 中国老女人一级毛片视频 | 国产1区视频 | 黄色高清免费网站 | 国产一级aaa全黄毛片 | 久久久久久久久日本理论电影 | 男男羞羞视频网站国产 | 黄污视频在线看 | 国产精品伦视频看免费三 | av免费在线播放网址 | 国产成人综合在线观看 | 天堂精品久久 | 热@国产| 黄色电影免费网址 | 成人三级电影在线 | 精品亚洲夜色av98在线观看 | 亚洲免费视频一区 | 亚洲一区成人在线 | 青青草免费观看 | 欧美精品一区二区三区在线 | 欧美一级精品片在线看 | 亚洲国产精品一区 | 久久成人免费观看 | 久久国产不卡 | 黄色影院在线看 | 亚洲亚色 | 97中文 | 成人午夜在线免费 | 草草久 | 一级免费特黄视频 | 国产中出视频 | 美国一级免费视频 | 国产妇女乱码一区二区三区 | 国产午夜探花 | 国产欧美日韩在线不卡第一页 | 日本成年免费网站 | 意大利av在线 | 国内精品久久久久久久久久 | 一级美女大片 | 日韩精品久久久久久久电影99爱 | 色妹子久久| 双性精h调教灌尿打屁股的文案 |