最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?使用EntityFramework?CodeFirst?創(chuàng)建PostgreSQL數(shù)據(jù)庫的詳細(xì)過程

 更新時(shí)間:2023年07月28日 14:55:11   作者:othersheart  
這篇文章主要介紹了C#使用EntityFramework?CodeFirst創(chuàng)建PostgreSQL數(shù)據(jù)庫的過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

C# 使用EntityFramework CodeFirst 創(chuàng)建PostgreSQL數(shù)據(jù)庫

1.先創(chuàng)建一個(gè)ASP.Net Web應(yīng)用程序,選擇Web API

2、創(chuàng)建EntityLib、EF、AppService三個(gè)類庫。EntityLib用于存放數(shù)據(jù)庫表所對(duì)應(yīng)的實(shí)體,AppService用于編寫用戶對(duì)實(shí)體的一些操作方法,如增刪改查等操作。

創(chuàng)建好所有類庫之后,需要添加引用庫EntityFramework6.Npgsql,右擊項(xiàng)目中的引用———》管理NuGet程序包———》搜索EntityFramework6.Npgsql添加到項(xiàng)目中,這個(gè)庫會(huì)自動(dòng)添加EntityFramework6和Npgsql的引用。需要給EF、AppService和API都添加這個(gè)引用。添加完成之后就開始寫各個(gè)類庫相應(yīng)的代碼了。

EFContext類

public class EFContext : DbContext
    {
        public EFContext() : base("Postgresql")//連接字符串名稱
        {
        }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema("public");//EF默認(rèn)創(chuàng)建到dbo架構(gòu)中,而PostgreSQL默認(rèn)為public架構(gòu)
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            base.OnModelCreating(modelBuilder);
        }
        public DbSet<User> Users { get; set; }
    }

User類

[Table("User",Schema ="public")]
    public class User
    {
        [Key]
        [Required]
        [Column("ID")]
        public int ID { get; set; }
        public string Name { get; set; }
        public string Account { get; set; }
        public string Password { get; set; }
    }

AppService類

public class UserService
    {
        public void AddUser(User user)
        {
            try
            {
                using (var db = new EFContext())
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                string msg = e.Message;
            }
        }
        public void DeleteUserByID(int id)
        {
            try
            {
                using (var db = new EFContext())
                {
                    db.Users.Remove(db.Users.Find(id));
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                string msg = e.Message;
            }
        }
        public void EditUser(User user)
        {
            try
            {
                using (var db = new EFContext())
                {
                    User u = db.Users.Find(user.ID);
                    u.Name = user.Name;
                    u.Account = user.Account;
                    u.Password = user.Password;
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                string msg = e.Message;
            }
        }
        public User FindUserByID(int id)
        {
            try
            {
                using (var db = new EFContext())
                {
                    User user = db.Users.Find(id);
                    return user;
                }
            }
            catch (Exception e)
            {
                string msg = e.Message;
                return null;
            }
        }
        public List<User> FindAll()
        {
            try
            {
                using (var db = new EFContext())
                {
                    List<User> users = db.Users.ToList();
                    return users;
                }
            }
            catch (Exception e)
            {
                string msg = e.Message;
                return null;
            }
        }
    }

完成類的編寫之后,需要添加數(shù)據(jù)庫連接字符串,打開API的web.config文件添加:

<connectionStrings>
        <add name="Postgresql" connectionString="PORT=502;DATABASE=postgres;HOST=10.60.140.1;PASSWORD=007;USER ID=postgres" providerName="Npgsql" />
    </connectionStrings>

3.進(jìn)行數(shù)據(jù)遷移,通過命令將實(shí)體類導(dǎo)入數(shù)據(jù)庫生成相應(yīng)的數(shù)據(jù)庫表。先打開VS的工具,然后點(diǎn)擊NuGet包管理器 ,選擇程序包管理器控制臺(tái),默認(rèn)項(xiàng)目改為EF,輸入以下三行命令

1-》enable-migrations

2-》add-migration

3-》update-database

去PostgreSQL數(shù)據(jù)庫去查看發(fā)現(xiàn)已經(jīng)生成好了數(shù)據(jù)庫和對(duì)應(yīng)的表了,這里因?yàn)槲襭ostgres數(shù)據(jù)庫已經(jīng)有User表了,所以修改了一下數(shù)據(jù)庫連接字符串

到此這篇關(guān)于C# 使用EntityFramework CodeFirst 創(chuàng)建PostgreSQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)C# 創(chuàng)建PostgreSQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在C#中使用指針

    如何在C#中使用指針

    這篇文章主要介紹了如何在C#中使用指針,文中代碼簡單易懂,幫助大家更好的工作和學(xué)習(xí),感興趣的朋友快來了解下
    2020-06-06
  • C#使用哈希表實(shí)現(xiàn)XML文件查詢

    C#使用哈希表實(shí)現(xiàn)XML文件查詢

    這篇文章主要為大家詳細(xì)介紹了C#如何使用哈希表實(shí)現(xiàn)XML文件查詢功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2024-02-02
  • 分享WCF文件傳輸實(shí)現(xiàn)方法---WCFFileTransfer

    分享WCF文件傳輸實(shí)現(xiàn)方法---WCFFileTransfer

    這篇文章主要介紹了分享WCF文件傳輸實(shí)現(xiàn)方法---WCFFileTransfer,需要的朋友可以參考下
    2015-11-11
  • C# 鍵值對(duì)數(shù)據(jù)排序代碼

    C# 鍵值對(duì)數(shù)據(jù)排序代碼

    這篇文章介紹了C# 鍵值對(duì)數(shù)據(jù)排序代碼,有需要的朋友可以參考一下
    2013-11-11
  • C#設(shè)計(jì)模式之適配器模式與裝飾器模式的實(shí)現(xiàn)

    C#設(shè)計(jì)模式之適配器模式與裝飾器模式的實(shí)現(xiàn)

    創(chuàng)建型設(shè)計(jì)模式主要是為了解決創(chuàng)建對(duì)象的問題,而結(jié)構(gòu)型設(shè)計(jì)模式則是為了解決已有對(duì)象的使用問題。本文將用C#語言實(shí)現(xiàn)結(jié)構(gòu)型設(shè)計(jì)模式中的適配器模式與裝飾器模式,感興趣的可以了解一下
    2022-04-04
  • 使用C#代碼實(shí)現(xiàn)Excel與Open?XML格式互相轉(zhuǎn)換

    使用C#代碼實(shí)現(xiàn)Excel與Open?XML格式互相轉(zhuǎn)換

    Open?XML是一種基于XML的文件格式,由Microsoft開發(fā),用于存儲(chǔ)和交換多種類型的文件,在實(shí)際應(yīng)用中,有時(shí)需要將Excel文件轉(zhuǎn)換為?Open?XML?格式,以便在其他軟件中順利打開和讀取,本文將介紹如何在?C#和VB.NET中實(shí)現(xiàn)Excel與Open?XML格式的相互轉(zhuǎn)換,需要的朋友可以參考下
    2026-03-03
  • Unity的IPostprocessBuildWithReport實(shí)用案例深入解析

    Unity的IPostprocessBuildWithReport實(shí)用案例深入解析

    這篇文章主要為大家介紹了Unity的IPostprocessBuildWithReport實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 詳解C#壓縮、解壓文件夾/文件(帶密碼)

    詳解C#壓縮、解壓文件夾/文件(帶密碼)

    這篇文章主要給大家介紹了關(guān)于C#壓縮、解壓文件夾/文件(帶密碼)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 淺談C# async await 死鎖問題總結(jié)

    淺談C# async await 死鎖問題總結(jié)

    這篇文章主要介紹了淺談C# async await 死鎖問題總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • c# 接口使用實(shí)例

    c# 接口使用實(shí)例

    這篇文章主要介紹了c#接口使用的實(shí)例,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論

永胜县| 德兴市| 英山县| 花莲县| 丰城市| 赤壁市| 墨竹工卡县| 稷山县| 海伦市| 车险| 石林| 安阳县| 修水县| 陇南市| 连平县| 准格尔旗| 本溪市| 肃南| 武义县| 师宗县| 南汇区| 雷州市| 贵德县| 龙山县| 纳雍县| 尼勒克县| 柞水县| 信宜市| 巩留县| 广平县| 左权县| 奉贤区| 海安县| 分宜县| 凌海市| 安陆市| 日照市| 攀枝花市| 东乡族自治县| 东乡族自治县| 房产|