Re: EF - дублирование записей при вставке
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.12.15 17:33
Оценка:
Здравствуйте, α, Вы писали:

α>Пусть у нас есть такая простая структура классов


α>
α>public class Порода
α>{
α>  [Key]
α>  public string Название {get;set;}
α>}

α>public class Собака
α>{
α>  [Key]
α>  public string Кличка {get;set;}
α>  public Порода Порода {get;set;}
α>}
α>


α>Дальше:


α>
α>var шарик = new Собака { Кличка = "Шарик", Порода = new Порода { "Овчарка" } };
α>var тузик = new Собака { Кличка = "Тузик", Порода = new Порода { "Овчарка" } };
α>context.Собаки.Add(шарик);
α>context.Собаки.Add(тузик);
α>context.SaveChanges();
α>


α>В этом примере в контекст добавляются две собаки одной породы, при этом название породы — первичный ключ.

Тогда пиши так:

public class Порода
{
  [Key]
  public string Название {get;set;}
}

public class Собака
{
  [Key]
  public string Кличка {get;set;}
  public Порода Порода {get;set;}
  public string ПородаИд  {get;set;}
}

var шарик = new Собака { Кличка = "Шарик", ПородаИд = "Овчарка" };
var тузик = new Собака { Кличка = "Тузик", ПородаИд = "Овчарка" };
context.Собаки.Add(шарик);
context.Собаки.Add(тузик);
context.SaveChanges();


И настраивай мэпинг чтобы ПородаИд был внешним ключом для Порода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.