Files
API/TOOHUCardAPI/Data/Seeders/CardSeeder.cs

25 lines
815 B
C#

using System.Linq;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using TOOHUCardAPI.Data.Models;
namespace TOOHUCardAPI.Data.Seeders
{
public class CardSeeder : ISeeder
{
public ModelBuilder SeedData(ModelBuilder builder)
{
var dataFile = System.IO.File.ReadAllText(ISeeder.SeedDataDirectory + @"CardData.json");
JObject jsonifiedData = JObject.Parse(dataFile);
var cardObjects = jsonifiedData.Properties().Select(i =>
{
var obj = i.Value.ToObject<JObject>();
obj["ItemCode"] = i.Name;
return obj;
}).Select(obj => obj.ToObject<Card>());
builder.Entity<Card>().HasData(cardObjects);
return builder;
}
}
}