国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - PostgreSQL - Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫(kù)的方法

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

2020-04-30 15:22東騰 PostgreSQL

這篇文章主要為大家詳細(xì)介紹了Abp.NHibernate連接PostgreSQl數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

初次接觸Abp框架,其框架中封裝的操作各類(lèi)數(shù)據(jù)的方法還是很好用的,本人還在進(jìn)一步的學(xué)習(xí)當(dāng)中,并將利用abp.NHibernate類(lèi)庫(kù)操作PostgreSQL數(shù)據(jù)的相關(guān)方法做一記錄,不足之處讓評(píng)論指點(diǎn)扔磚。

話(huà)不多說(shuō),直接開(kāi)干:

1、vs 新建一個(gè)項(xiàng)目,(窗體或者控制臺(tái)程序或者測(cè)試程序)

2、NuGet 獲取類(lèi)庫(kù)(adp.NHibernate)

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

還需安裝一個(gè)pgSQl 對(duì)應(yīng)的驅(qū)動(dòng)

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

3、新建一個(gè)繼承AbpModule的類(lèi),用于配置數(shù)據(jù)庫(kù)連接信息和實(shí)體映射的相關(guān)信息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System.Reflection;
using Abp.Configuration.Startup;
using Abp.Modules;
using Abp.NHibernate;
using FluentNHibernate.Cfg.Db;
 
/**
* 命名空間: abpPgtest
* 功 能: 配置數(shù)據(jù)庫(kù)
* 類(lèi) 名: NhHibernateModel
* 作 者: 東騰
* 時(shí) 間: 2018/1/29 17:04:27
*/
namespace abpPgtest
{
  [DependsOn(typeof(AbpNHibernateModule))]
  public class NhHibernateModel:AbpModule
  {
    //重寫(xiě)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();
    }
    //重寫(xiě)Initialize方法
    public override void Initialize()
    {
      IocManager.RegisterAssemblyByConvention(Assembly.GetCallingAssembly());
      // base.Initialize();
    }
  }
}

4、新建實(shí)體和實(shí)體映射

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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ù)庫(kù)表實(shí)體及映射
* 類(lèi) 名: testModel
* 作 者: 東騰
* 時(shí) 間: 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();//數(shù)據(jù)庫(kù)表中沒(méi)有自增的Id時(shí)需要映射一個(gè)Id
      Map(x => x.Company);
      Map(x => x.Name);
 
      //References<userModel>(a => a.Id).Not.LazyLoad().Column("外鍵ID");//數(shù)據(jù)庫(kù)中有關(guān)聯(lián)表時(shí)使用
 
    }
  }
  public class testModel:Entity<int>
  {
    public virtual int Id { get; set; }
 
    public virtual string Name { get; set; }
 
    public virtual string Company { get; set; }
  }
}

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

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

6、注冊(cè)并初始化abp連接

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

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

?
1
2
3
4
5
6
7
//添加數(shù)據(jù)
  var model = new testModel
    {
     Name = "東騰",
     Company = "東騰科技"
    };
 resp.Insert(model);

打開(kāi)數(shù)據(jù)庫(kù)查看結(jié)果:

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

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

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

查看結(jié)果

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

9、查詢(xún)數(shù)據(jù)

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

?
1
var allList = resp.GetAllList();

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

按照條件進(jìn)行查詢(xún)

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

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

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

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

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

11、總結(jié):

abp.NHibernate只是ABP中對(duì)NHIbernate的一個(gè)封裝,只要正確注冊(cè)和訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),其余的就是ORM操作數(shù)據(jù)庫(kù),就簡(jiǎn)單了。其他的關(guān)系型數(shù)據(jù)都用類(lèi)似的做法即可。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/dongteng/archive/2018/01/30/8378650.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www日韩| 午夜伦理影院 | 婷婷精品久久久久久久久久不卡 | 日韩欧美一区二区三区免费观看 | 欧洲av一区二区 | 国产精品福利91 | 在线看国产 | 午夜精品网站 | 欧美国产日韩一区 | 欧洲精品久久久 | 99精品视频网 | 精品国产黄a∨片高清在线 天天色天天色 | 久久国产成人 | 免费在线看污网站 | 亚洲一区二区三区四区五区中文 | 亚洲综合一区在线观看 | 成人午夜网站 | 亚洲午夜电影在线 | 九色国产 | 欧美在线亚洲 | 国产一区二区视频在线 | 在线观看日韩精品 | 欧美日韩国产精品一区 | 97人人看| 一区二区免费看 | 国产精品久久久久久福利一牛影视 | 中文久久 | 国产精品免费一区二区三区四区 | 精品一区二区久久 | 国产欧美综合一区二区三区 | 欧美一区亚洲二区 | 亚洲一区二区 | 亚洲一区电影 | 久久99精品国产自在现线 | 欧美精品乱码久久久久久按摩 | 亚洲 欧美 精品 | 亚洲天天在线观看 | 国产高清视频在线 | 精品久久一区二区 | 久久中文字幕一区 | 国产欧美精品一区二区三区四区 |