欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

EFContext類

public class EFContext : DbContext
    {
        public EFContext() : base("Postgresql")//連接字符串名稱
        {
        }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema("public");//EF默認創(chuàng)建到dbo架構(gòu)中,而PostgreSQL默認為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.進行數(shù)據(jù)遷移,通過命令將實體類導(dǎo)入數(shù)據(jù)庫生成相應(yīng)的數(shù)據(jù)庫表。先打開VS的工具,然后點擊NuGet包管理器 ,選擇程序包管理器控制臺,默認項目改為EF,輸入以下三行命令

1-》enable-migrations

2-》add-migration

3-》update-database

去PostgreSQL數(shù)據(jù)庫去查看發(fā)現(xiàn)已經(jīng)生成好了數(shù)據(jù)庫和對應(yīng)的表了,這里因為我postgres數(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#中使用IFormattable實現(xiàn)自定義格式化字符串輸出示例

    C#中使用IFormattable實現(xiàn)自定義格式化字符串輸出示例

    這篇文章主要介紹了C#中使用IFormattable實現(xiàn)自定義格式字符串輸出示例,本文直接給出實例代碼,需要的朋友可以參考下
    2015-06-06
  • C#事件管理器如何清空所有監(jiān)聽詳解

    C#事件管理器如何清空所有監(jiān)聽詳解

    這篇文章主要給大家介紹了關(guān)于C#事件管理器如何清空所有監(jiān)聽的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 三十分鐘快速掌握C# 6.0知識點

    三十分鐘快速掌握C# 6.0知識點

    這篇文章主要介紹了C# 6.0的相關(guān)知識點,文中介紹的非常詳細,通過這篇文字可以讓大家在三十分鐘內(nèi)快速的掌握C# 6.0,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • C#獲取日期的星期名稱實例代碼

    C#獲取日期的星期名稱實例代碼

    本文通過實例代碼給大家介紹了基于c#獲取日期的星期名稱,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08
  • C#實現(xiàn)簡單的3DES加密解密功能示例

    C#實現(xiàn)簡單的3DES加密解密功能示例

    這篇文章主要介紹了C#實現(xiàn)簡單的3DES加密解密功能,結(jié)合實例形式分析了C#實現(xiàn)3DES加密解密的定義、使用等具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • C#通過JObject解析json對象

    C#通過JObject解析json對象

    這篇文章介紹了C#通過JObject解析json對象的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#生成圖形驗證碼的實現(xiàn)方式

    C#生成圖形驗證碼的實現(xiàn)方式

    我們當(dāng)用戶登錄系統(tǒng)時經(jīng)常會用到圖形驗證碼技術(shù),要求用戶識別圖片中的內(nèi)容,并正確輸入,方可嘗試登錄,因此,圖形驗證碼是一個網(wǎng)絡(luò)安全技術(shù)手段,圖形驗證碼的呈現(xiàn)形式有很多種,這里我們將介紹最基本的生成方式,感興趣的朋友可以參考下
    2024-04-04
  • C#圖像灰度級拉伸的方法

    C#圖像灰度級拉伸的方法

    這篇文章主要介紹了C#圖像灰度級拉伸的方法,涉及C#灰度操作的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C# XML與Json之間相互轉(zhuǎn)換實例詳解

    C# XML與Json之間相互轉(zhuǎn)換實例詳解

    這篇文章主要介紹了C# XML與Json之間相互轉(zhuǎn)換實例詳解,大家參考使用吧
    2013-11-11
  • C# Winform多屏幕多顯示器編程技巧實例

    C# Winform多屏幕多顯示器編程技巧實例

    這篇文章主要介紹了C# Winform多屏幕多顯示器編程技巧實例,本文直接給出代碼實例,需要的朋友可以參考下
    2015-06-06

最新評論