在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Code First模式 Code First是指"代码优先"或"代码先行"。 Code First模式将会基于编写的类和配置,自动创建模型和数据库。 创建一个(.NetCore 类库),命名为NetCoreWebApi.Model。 通过Nuget程序包安装相关依赖 在类库项目上右键->管理NuGet程序包,下面会打开程序包管理器控制台窗口: 注意版本,因为本人NetCore 是2.2版本,所以程序包都选择了2.2.6 二、正式开始根据.NET中的类来创建数据库。 在类库项目上右键->添加->新建文件夹,命名为Models,存放相应的实体类。在Models文件夹下面新建实体类:tb_user,实体类的属性如下: using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace NetCoreWebApi.Model.Models { /// <summary> /// 用户表 /// </summary> [Table("tb_User")] public class TbUser { /// <summary> /// 用户Id /// </summary> [Key] [Column("userId")] [StringLength(32)] public string UserId { get; set; } /// <summary> /// 用户名 /// </summary> [Column("userName")] [StringLength(20)] public string UserName { get; set; } /// <summary> /// 邮箱 /// </summary> [Column("email")] [StringLength(30)] public string Email { get; set; } /// <summary> /// 创建时间 /// </summary> [Column("createTime")] public DateTime CreateTime { get; set; } } }
创建数据上下文 在类库项目上右键->添加->类,命名为MyDbContext,并继承DbContext类,DbContext位Microsoft.EntityFrameworkCore.dll程序集中。 using Microsoft.EntityFrameworkCore; using NetCoreWebApi.Model.Models; namespace NetCoreWebApi.Model { public class MyDbContext : DbContext { public MyDbContext() { } public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } //定义数据集合:用于创建表 public DbSet<TbUser> TbUsers { get; set; } } } 在appsettings.json中加入连接字符串 { "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", //数据库连接字符串 "ConnectionStrings": { "SqlServer": "Data Source=.;Initial Catalog=NetCoreWebApi;User Id=sa;Password=123;" } } 在Startup.cs类ConfigureServices方法中添加EF的依赖 /// <summary> /// //负责注入服务 /// </summary> /// <param name="services"></param> /// <returns></returns> public void ConfigureServices(IServiceCollection services) { //获取数据库连接字符串 var connectionStr = Configuration.GetConnectionString("SqlServer"); services.AddDbContext<MyDbContext> (options => options.UseSqlServer(connectionStr, e => e.MigrationsAssembly("NetCoreWebApi.Model"))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
三、使用命令通过代码生成数据库在程序包命令切换到NetCoreWebApi.Model中 先执行 Add-Migration InitialCreate 执行成功后会在项目中产生一个Migrations文件夹。里面有个快照文件和一个迁移的文件。
后执行 Update-DataBase 出现这个就是成功了。 数据库创建成功! |
请发表评论