数据的初始化(使用json文件)
数据的初始化(使用json文件)
下面展示一些 内联代码片。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using FakeXiecheng.API.Models;
using Microsoft.EntityFrameworkCore;
//因为需要读写文件
using System.IO;
//Path.GetDirectoryName获取文件夹地址,需要使用C#的反射机制,添加命名空间
using System.Reflection;
//json数据的转换需要
using Newtonsoft.Json;
namespace FakeXiecheng.API.Database
{
public class AppDbContext:DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options):base(options)
{
}
public DbSet<TouristRoute> TouristRoutes { get; set; }
public DbSet<TouristRoutePicture> TouristRoutePictures { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//直接添加数据
//modelBuilder.Entity<TouristRoute>().HasData(new TouristRoute() {
// Id=Guid.NewGuid(),
// Title = "ceshititle",
// Description = "shouming",
// OriginalPrice = 0,
// CreateTime = DateTime.UtcNow
//});
//通过josn文件添加数据到数据库
//得到json文件数据
//Path.GetDirectoryName获取文件夹地址,需要使用C#的反射机制,添加命名空间
//JsonConvert.DeserializedObject反序列json文件
var touristRouteJsonData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) +@"/Database/touristRoutesMockData.json");
//反序列json数据为一个集合
IList<TouristRoute> touristRoutes = JsonConvert.DeserializeObject<IList<TouristRoute>>(touristRouteJsonData);
//添加数据到数据库
modelBuilder.Entity<TouristRoute>().HasData(touristRoutes);
var touristRoutePictureJsonData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"/Database/touristRoutePicturesMockData.json");
IList<TouristRoutePicture> touristRoutePictures = JsonConvert.DeserializeObject<IList<TouristRoutePicture>>(touristRoutePictureJsonData);
modelBuilder.Entity<TouristRoutePicture >().HasData(touristRoutePictures);
base.OnModelCreating(modelBuilder);
}
}
}
下面展示一些 内联代码片。
touristRoutePicturesMockData.json文件
[
{
"id": 2,
"TouristRouteId": "12dc1743-f1a0-410e-84fa-d2b8d1e46321",
"url": "../../assets/images/1.jpg"
},
{
"id": 3,
"TouristRouteId": "12dc1743-f1a0-410e-84fa-d2b8d1e46322",
"url": "../../assets/images/1.jpg"
},
{
"id": 4,
"TouristRouteId": "12dc1743-f1a0-410e-84fa-d2b8d1e46323",
"url": "../../assets/images/1.jpg"
},
{
"id": 5,
"TouristRouteId": "12dc1743-f1a0-410e-84fa-d2b8d1e46324",
"url": "../../assets/images/1.jpg"
}
]
touristRoutesMockData.json文件
[
{
"id": "12dc1743-f1a0-410e-84fa-d2b8d1e46321",
"title" : "1",
"description": "one day",
"originalPrice": 11999.99,
"discountPresent": 0.1,
"features": "<div class=\"bd\"><p style = \"text-align:center\">",
"fees": "<div>费用包含<div>",
"notes": "<div>费用包含<div>"
},
{
"id": "12dc1743-f1a0-410e-84fa-d2b8d1e46322",
"title": "法国一日游",
"description": "one day",
"originalPrice": 11999.99,
"discountPresent": 0.1,
"features": "<div class=\"bd\"><p style = \"text-align:center\">",
"fees": "<div>费用包含<div>",
"notes": "<div>费用包含<div>"
},
{
"id": "12dc1743-f1a0-410e-84fa-d2b8d1e46323",
"title": "美国一日游",
"description": "one day",
"originalPrice": 11999.99,
"discountPresent": 0.1,
"features": "<div class=\"bd\"><p style = \"text-align:center\">",
"fees": "<div>费用包含<div>",
"notes": "<div>费用包含<div>"
},
{
"id": "12dc1743-f1a0-410e-84fa-d2b8d1e46324",
"title": "日本一日游",
"description": "one day",
"originalPrice": 11999.99,
"discountPresent": 0.1,
"features": "<div class=\"bd\"><p style = \"text-align:center\">",
"fees": "<div>费用包含<div>",
"notes": "<div>费用包含<div>"
}
]

浙公网安备 33010602011771号