開發工具:vs2019;操作系統:win10
代碼下載地址:
鏈接:https://pan.baidu.com/s/1dv37YxXCqwnTpRfeputc8A
提取碼:6a2l
1、Nuget包的引用
新建一個名為ConsoleApp1的 .Net Core控制台應用程序,然后添加一些Nuget程序包。
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
ASP.NET Core 2.1以上的版本中,Microsoft.EntityFrameworkCore.Tools包包含在Microsoft.AspNetCore.App 元包。
而 ASP.NET Core 2.1 以下的版本中需要手動引用 Microsoft.EntityFrameworkCore.Tools包。
2、創建配置文件
新建一個名為appsettings.json
的配置文件,內容如下:
{ "exclude": [ "**/bin", "**/bower_components", "**/jspm_packages", "**/node_modules", "**/obj", "**/platforms" ], "ConnectionStrings": { "db": "Data Source=db/blogging.db" } }
右擊appsettings.json文件屬性,修改復制到輸出目錄的值為“如果較新則復制”。
3、創建模型
新建一個文件夾Models,然后在該文件夾下創建Blog.cs
,內容如下:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApp1.Models { public class Blog { public int BlogId { get; set; } public string Url { get; set; } public ICollection<Post> Posts { get; set; } } }
在Models文件夾下創建Post.cs
,內容如下:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApp1.Models { 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; } } }
最后在同樣目錄下創建BloggingContext.cs
,內容如下
using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.IO; using System.Text; namespace ConsoleApp1.Models { public class BloggingContext:DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } private IConfiguration configuration; public BloggingContext() { configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build(); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlite(configuration.GetConnectionString("db")); } } }
4、創建數據庫
先創建一個名為db的文件夾,然后打開程序包管理控制台,在控制台下輸入以下命令:
Add-Migration InitialCreate Update-Database
創建成功后,會發現db目錄下有一個blogging.db數據庫。右擊blogging.db屬性,修改復制到輸出目錄的值為“如果較新則復制”。
5、使用模型
打開Program.cs,替換成以下內容:
using EFCoreSqliteTest.Models; using System; namespace EFCoreSqliteTest { class Program { static void Main(string[] args) { using (var db = new BloggingContext()) { db.Blogs.Add(new Blog { Url = "https://blog.csdn.net/lms99251" }); var count = db.SaveChanges(); Console.WriteLine("{0} records saved to database", count); Console.WriteLine(); Console.WriteLine("All blogs in database:"); foreach (var blog in db.Blogs) { Console.WriteLine(" - {0}", blog.Url); } Console.ReadKey(); } } } }
運行程序,控制台窗口中會出現以下內容