l método @Seeding está insertando entidades adicionales con valores NULL

e repente tengo este comportamiento extraño (he comparado mis archivos en control de versiones (tfs) para asegurarme de que no cambié nada y no encontré nada diferente).

Siembro mi base de datos con algunos metadatos y veo que tiene un comportamiento muy extraño que nunca antes había visto. Estoy insertando una entidad "Producto" e inserta esta entidad2 vece, el primer inserto es correcto y tiene todo lo que debería tener, el otro tiene propiedades NULL (valores de cadena) pero algunos (como datetime) tienen valores.

No tengo ni idea de por qué sucede esto, ocurre cuando llamo a la base.Seed (ctx); método, estoy seguro desde que detuve la Webapp después de esto antes de que alcanzara cualquier otra cosa.

Esta entidad El producto tiene entidades relacionadas, que todos los demás datos se crean correctamente en mis tablas. Nada está mal, excepto este producto.

Traté de sembrar solo 1 entidad de producto en lugar de agregar otro también, los mismos resultados. Supervisé algo: todavía se estaban sembrando otras Entidades, así que fui a ver dónde ocurrió, fue cuando agregué el Precio de compra en la imagen que sucedió:

Mi entidad de producto:

public class Product : BaseEntity
{
   public  ICollection<Supplier> Suppliers { get; set; }
   public  ICollection<PurchasePrice> PurchasePrices { get; set; }
}

Mi entidad proveedora:

public class Supplier : BaseEntity
{
   public ICollection<PurchasePrice> PurchasePrices { get; set; }
   public  ICollection<Product> Products { get; set; }
}

Mi entidad de precio de compra:

public  class PurchasePrice:BaseEntity
{
   public decimal Value { get; set; }   
   public Supplier Supplier { get; set; }
   public Product Product { get; set; }
}

La siembra:

Supplier supplier1 = new Supplier("Microsoft", "Microsoft is the best supplier but its expensive", "btw nummer", "0800-123456", "[email protected]", "contact person name");
ctx.Suppliers.Add(supplier1);

PurchasePrice purchaseprice = new PurchasePrice((decimal)17.70, supplier1);
ctx.PurchasePrices.Add(purchaseprice);

Product product1 = new Product("test product 1", supplier1, purchaseprice);
ctx.Products.Add(product1);

base.Seed(ctx);

No tengo idea de dónde debería mirar porque nada cambió en mi modelo, ni en mi forma de sembrar. Intenté usar AddOrUpdate () pero eso no funcionó.

Estoy usando EF6 en una aplicación web MVC usando el enfoque de código primero sin migraciones (todavía). ¿Alguien tiene alguna sugerencia por favor?

Respuestas a la pregunta(1)

Su respuesta a la pregunta