介绍一下EF的使用。
一. 创建数据库,设置连接字符串
方便起见,这里直接用LocalDB,打开VS,点击视图->SQL Server对象资源管理器,如果有这种localdb开头的实例,就说明安装了LocalDB。
在数据库下面创建一个LessonDB作为学习数据库,右键属性可以获取到它的连接字符串,复制出来,在appseetings.json中配置一下,然后先放着不管。
"ConnectionStrings": {
"DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=LessonDB;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
}
二. 创建DbContext
一般来说,创建Core项目后有关EF的包是自动引用了的,在Microsoft.AspNetCore.App下。
创建一个Data文件夹,里面新建DataContext类,继承 Microsoft.EntityFrameworkCore.DbContext。
using Microsoft.EntityFrameworkCore; using Lesson1.Model; namespace Lesson1.Data { public class DataContext : DbContext { public DataContext(DbContextOptions<DataContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }
Stundent是在Model文件夹下的实体类
namespace Lesson1.Model { public class Student { public int Id { get; set; } public string Name { get; set; } } }
DbContext的构造函数就是获取配置信息,并传给父类处理。
三. 在Startup中注入DbContext
当然可以用new DbContext()这种方式使用它,但是既然用Core了,还是用依赖注入吧。
回到Startup文件,注册DbContext