编辑
2026-01-21
数据库
00
请注意,本文编写于 59 天前,最后修改于 59 天前,其中某些信息可能已经过时。

目录

安装工具Cli
命令行指令
安装nuget包
实体类参考代码
初始化数据

安装工具Cli

js
dotnet tool install -g dotnet-ef --version 9.0.0 dotnet-ef

命令行指令

js
dotnet-ef migrations add init dotnet-ef database update

安装nuget包

js
Microsoft.EntityFrameworkCore.Sqlite 根据数据库选择,比如sqlite,mysql等 Microsoft.EntityFrameworkCore.Design Microsoft.EntityFrameworkCore.Tool 有这个包,才能在vs的包管理器中使用命令
js
• add-migration [名称] 生成数据迁移指令 • update-database 执行未执行的迁移指令 • Drop-Database 删除数据库

实体类参考代码

js
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace xxx.API.Models { public class TouristRoute { // 指定主键 [Key] public Guid Id { get; set; } [Required] [MaxLength(100)] public string Title { get; set; } [Required] [MaxLength(1500)] public string Description { get; set; } [Column(TypeName ="decimal(18,2")] public decimal OriginalPrice { get; set; } [Range(0.0,1.0)] public double? DiscountPresent { get; set; } public DateTime CreateTime { get; set; } public DateTime? UpdateTime { get; set;} public DateTime? DePartureTime { get; set;} [MaxLength] public string Features { get; set; } [MaxLength] public string Fees { get; set; } [MaxLength] public string Note { get; set; } /// <summary> /// 一对多 /// </summary> public ICollection<TouristRoutePictures> TouristRoutePictures { get; set; } = new List<TouristRoutePictures>(); } }

初始化数据

js
public class AppDbContext:DbContext { // *** 省略无关代码 protected override void OnModelCreating(ModelBuilder modelBuilder) { var touristRoutesJsonData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"/Database/touristRoutesMockData.json"); IList<TouristRoute> touristRoutes = JsonConvert.DeserializeObject<IList<TouristRoute>>(touristRoutesJsonData); modelBuilder.Entity<TouristRoute>().HasData(touristRoutes); var touristRoutePicturesData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"/Database/touristRoutePicturesMockData.json"); IList<TouristRoute> touristRoutesPicture = JsonConvert.DeserializeObject<IList<TouristRoute>>(touristRoutePicturesData); modelBuilder.Entity<TouristRoutePictures>().HasData(touristRoutesPicture); base.OnModelCreating(modelBuilder); } }种子数据

本文作者:zhusenlin

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 版权所有:zhusenlin 许可协议。转载请注明出处!