jsdotnet tool install -g dotnet-ef --version 9.0.0
dotnet-ef
jsdotnet-ef migrations add init dotnet-ef database update
jsMicrosoft.EntityFrameworkCore.Sqlite 根据数据库选择,比如sqlite,mysql等
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tool 有这个包,才能在vs的包管理器中使用命令
js• add-migration [名称] 生成数据迁移指令
• update-database 执行未执行的迁移指令
• Drop-Database 删除数据库
jsusing 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 许可协议。转载请注明出处!