0
My intention is to initialize a SubCategoria
, but she needs a Categoria
first (1:N). I wanted to know which implementation I would use to make this relationship work to boot into the database? I’m using the method Seed
entityframework.
Method Seed
protected override void Seed(Context context)
{
IList<Categoria> CategoriasInicialização = new List<Categoria>();
IList<UnidadeDeMedida> UndMedidasInicialização = new List<UnidadeDeMedida>();
IList<SubCategoria> SubCategoriaInicialização = new List<SubCategoria>();
#region Inicialização das SubCategorias
SubCategoriaInicialização.Add(new SubCategoria() { SubCategoriaNome = "Controlados" });
foreach (var subCategorias in SubCategoriaInicialização)
context.SubCategorias.Add(subCategorias);
#endregion
#region Inicialização das Categorias
CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Medicamentos" });
CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Generos Alimenticios" });
CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Materiais de Construção" });
CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Materiais Hospitalar" });
CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Materiais Odontologico" });
foreach (var categorias in CategoriasInicialização)
context.Categorias.Add(categorias);
context.SaveChanges();
base.Seed(context);
}
Mapping class of Subcategory
public SubCategoriaConfig()
{
ToTable("SubCategoria");
HasKey(c => c.SubCategoriaId);
Property(x => x.SubCategoriaNome)
.IsRequired()
.HasMaxLength(60);
HasRequired(x => x.Categoria)
.WithMany(x => x.SubCategorias)
.Map(m => m.MapKey("CategoriaId"));
}
You added context.Savechanges(); before base. Seed(context);
– Junior Porfirio
@Juniorporpirio Thanks for your reply. I really forgot to copy and paste the method
context.SaveChanges()
, but I already did. I was thinking about doing that (I’m a beginner, okay?!):CategoriasInicialização.Add(new Categoria() { CategoriaNome = "Medicamentos", SubCategorias = SubCategoriaInicialização });
– Iago Frota
@There’s another elegant way to do it?
– Iago Frota
In the Model Category there are several Subcategories ?
– Junior Porfirio
@Correct Juniorphyrian.
– Iago Frota
I made it simpler, take a look to see if I got it right.
– Junior Porfirio