У меня есть два кода POCO Entity Framework.Я могу легко добавлять новые элементы сайта и технологии в базу данных, но не могу связать сайты с технологиями.Когда я делаю это ...
if(!site.Technologies.Any( o => (o.Name == technology.Name && technology.Source == source)))
{
site.Technologies.Add(technology);
technology.Sites.Add(site);
}
Я получаю ошибку дублирующего ключа.Если я удаляю вторую строку из условного выражения, таблица соединений TechnologiesSites не получает никаких записей!Как сделать вставку в EF Code First?
public class Site
{
public Site()
{
Technologies = new HashSet<Technology>();
}
[Key]
public string Hostname { get; set; }
public virtual ICollection<Technology> Technologies { get; set; }
}
и
public class Technology
{
[Key, Column(Order = 0)]
public string Name { get; set; }
[Key, Column(Order = 1)]
public string Source { get; set; }
public virtual ICollection<Site> Sites { get; set; }
public Technology()
{
Sites = new HashSet<Site>();
}
}