.NET Core EFCore零基礎快速入門簡單使用


 一、什么是 Entity Framework (EF) Core

Entity Framework (EF) Core 是輕量化、可擴展和跨平台版的對象關系映射程序 (O/RM)數據訪問技術,。 它將開發人員從編寫大量 SQL 語句中解放出來。

 

二、EF的相關程序包

Microsoft.EntityFrameworkCore 核心程序包,封裝了關鍵的核心代碼,使用EF必須引用這個包

Microsoft.EntityFrameworkCore.Design 設計包,用於在命令行工具下EF Core開發的工具套件

Microsoft.EntityFrameworkCore.Tools 用於數據庫的生成、遷移、生成表等

 

三、EF Core支持的數據庫引擎:SqlServer、Sqlite、PostgreSQL、MySql、Oracle等主流數據庫,不同的數據庫需要EF Core數據庫提供程序支持。

微軟維護的數據庫程序包

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.Sqlite

Microsoft.EntityFrameworkCore.InMemory

Microsoft.EntityFrameworkCore.Cosmos

 

四、使用流程

1、在項目里添加安裝數據庫程序包,我這里使用MySql數據庫,管理Nuget程序包添加Microsoft.EntityFrameworkCore.Design、Pomelo.EntityFrameworkCore.MySql的引用后已經包含了Microsoft.EntityFrameworkCore的相關依賴

2、創建數據庫實體映射類

復制代碼
    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
        public List<Post> Posts { get; } = new List<Post>();
    }
復制代碼
復制代碼
    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }

        public int BlogId { get; set; }
        public Blog Blog { get; set; }
    }
復制代碼

3、新建一個繼承DbContext的類作用是配置數據連接、操作數據庫表等信息

復制代碼
    public class BloggingContext: DbContext
    {
        /// <summary>
        /// Blogs表的操作屬性
        /// </summary>
        public DbSet<Blog> Blogs { get; set; }

        /// <summary>
        /// Posts
        /// </summary>
        public DbSet<Post> Posts { get; set; }

        /// <summary>
        /// 配置數據連接信息
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql("你的數據庫連接字符串");
            base.OnConfiguring(optionsBuilder);
        }
    }
復制代碼

4、添加數據庫遷移文件:程序包管理控制台輸入:

Add-Migration InitialCreate    //InitialCreate是生成遷移文件的文件名,執行此命令后,會生成Migrations文件夾及相關的遷移文件
Update-Database //生成數據庫

 

5、數據庫:增、讀、刪、改操作

復制代碼
            using (var db = new BloggingContext())
            {
                // Create
                Console.WriteLine("Inserting a new blog");
                db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" });
                db.SaveChanges();

                // Read
                Console.WriteLine("Querying for a blog");
                var blog = db.Blogs
                    .OrderBy(b => b.BlogId)
                    .First();

                // Update
                Console.WriteLine("Updating the blog and adding a post");
                blog.Url = "https://devblogs.microsoft.com/dotnet";
                blog.Posts.Add(
                    new Post
                    {
                        Title = "Hello World",
                        Content = "I wrote an app using EF Core!"
                    });
                db.SaveChanges();

                // Delete
                Console.WriteLine("Delete the blog");
                db.Remove(blog);
                db.SaveChanges();
            }
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM