У меня есть два классаEntity Framework Миграция семян повторяющихся строки
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Item
{
public int Id { get; set; }
public sting Name { get; set; }
public Category Category { get; set; }
}
У меня есть EF Миграция и следующее семя:
var instockCategory = new Category() { Name = "InStock" };
var outofStockCategory = new Category() { Name = "OutOfStock" };
context.Items.AddOrUpdate(
d => d.Name,
new Item() { Name = "Item1", Category = instockCategory },
new Item() { Name = "Item2", Category = outofStockCategory },
new Item() { Name = "Item3", Category = outofStockCategory }
);
линия "d => d.Name" убеждается что, основываясь на имени элемента, при повторной подаче базы данных не будет повторяющихся записей. Однако в первый раз, когда я выполняю это, две категории создаются с идентификаторами 1 и 2. Но во второй раз, когда я запускаю это, создаются 3 новые категории! Могу ли я исправить это, не добавив сначала каждую категорию?
Возможно, но я не хочу, потому что тогда мне нужно будет добавить категории DbSet, и пока у меня его нет. Может все еще сделать это, просто спрашивая, возможно ли что-то еще. –
@ DennisvanderStelt обновляет ответ? Что именно вы имеете в виду при добавлении категории DbSet? –
Спасибо Аксель, хороший звонок о наборе –