Я новичок в EF Core и пытаюсь посеять перечисление.
Согласно Data Seeding эта функция является новой для EF Core 2.1.
Я рассмотрел несколько решений, в том числе это решение SO от Blake Mumford ,но это не работает для меня, так как enum не является ссылочным типом.
Моя цель (с помощью миграций) состоит в том, чтобы перечислить Category в новой таблице SQL с именем Category, имоя таблица платежей должна содержать столбец, который ссылается на таблицу категорий как внешний ключ.
Любая помощь будет принята с благодарностью.Спасибо.
public partial class Payment
{
public int PaymentId { get; set; }
public DateTime PostedDate { get; set; }
public string Vendor { get; set; }
public decimal Amount { get; set; }
public virtual Category Category { get; set; }
}
public enum Category
{
Restaurants,
Groceries,
[Display(Name = "Home Goods")]
HomeGoods,
Entertainment
}
public partial class MyDbContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Error: The type Category must be a reference type in order to use it as parameter TEntity in the
// genric type or method ModelBuilder.Entity<TEntity>()
modelBuilder.Entity<Category>().HasData(Category.Restaurants,
Category.Groceries,
Category.HomeGoods,
Category.Entertainment);
}
}