EF ComplexType DbModelBuilder Пример словаря - PullRequest
0 голосов
/ 20 сентября 2019

Я использую EF DbSet<FiveMinStockHistory>.А теперь мне нужен фрагмент кода, показывающий, как реализовать метод EF6 + DbContext.OnModelCreating (DbModelBuilder modelBuilder) для заполнения базы данных с первым кодом.Я не смог найти хороших примеров.

public class FiveMinStockHistory
{
    public int Id { get; set; }
    public Dictionary<string, string> Meta_Data { get; set; }
    public Dictionary<string, TimeSeries> Lhocv { get; set; }
}

public class TimeSeries
{
    public decimal Open { get; set; }
    public decimal High { get; set; }
    public decimal Low { get; set; }
    public decimal Close { get; set; }
    public double Volume { get; set; }
}

Спасибо !!!

1 Ответ

0 голосов
/ 21 сентября 2019

Вы можете заполнить базу данных разными способами.Обычно вы хотите, чтобы это произошло при запуске.Таким образом, вы создаете класс DbInitializer.cs, который имеет статический метод инициализации.

public static void Initialize(MyDbContext context)
{
    context.Database.EnsureCreated();

    // Create the objects you want to insert into DbContext.
    // Write it to a variable, for example, "var ExampleData".

    // Add example data.
    context.FiveMinStockHistory.Add(ExampleData)
    context.SaveChanges();
}

Затем вы можете просто запустить его при запуске:


    public void Configure(IApplicationBuilder app, MyDbContext context)
    {
        MyDatabaseInitializer.Initialize(context);
    }

Easy peasy.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...