Я хочу поблагодарить всех, кто внес свой вклад в любом случае!

я неожиданно возникло такое странное поведение (я сравнил свои файлы в системе контроля версий (tfs), чтобы убедиться, что я ничего не изменил и не нашел ничего другого).

Я заполняю свою базу данных некоторыми метаданными, и я вижу, что у нее очень странное поведение, которого я никогда раньше не видел. Я вставляю сущность "Продукт", и она вставляет эту сущность2 разапервая вставка верна и имеет все, что должна иметь, другая имеет свойства NULL (строковые значения), но некоторые (например, datetime) имеют значения.

Я понятия не имею, почему это происходит, это происходит, когда я вызываю base.Seed (ctx); метод, который я уверен, так как я остановил Webapp после этого, прежде чем он достиг чего-либо еще.

Эта сущность Product имеет связанные сущности, для которых все остальные данные правильно созданы в моих таблицах. Нет ничего плохого, кроме этого продукта.

Я пытался заполнить только одну сущность продукта, а не добавлять другие, такие же результаты. Я что-то наблюдал: были еще другие объекты, которые были посеяны, поэтому я пошел и посмотрел, где это произошло, именно при добавлении BuyPrice на рисунке это произошло:

Мой продукт

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

Мой поставщик

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

Моя покупка

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

Посев:

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);

Не знаю, куда мне смотреть, потому что ничего не изменилось ни в моей модели, ни в моем способе посева. Я пытался использовать AddOrUpdate (), но это не сработало.

Я использую EF6 в веб-приложении MVC с использованием подхода Code-first без миграций (пока). У кого-нибудь есть предложения, пожалуйста?

Ответы на вопрос(1)

Ваш ответ на вопрос