Хорошо.Так вот в чем дело.У меня есть две сущности - «Продукт» и «Запчасти».Изделие состоит из частей.И части могут быть использованы в других продуктах.Отношение между этими сущностями много ко многим.И все это прекрасно работает.
Проблема в , что я не могу добавить одну и ту же деталь к одному и тому же продукту дважды.EF, кажется, заставляет все связанные объекты быть уникальными.Рассмотрим следующий код:
var product = context.Create<Product>();
var part = GetSomePart();
Console.WriteLine(product.Parts.Count); // will output 0
// Add a part
product.Parts.Add(part);
Console.WriteLine(product.Parts.Count); // will output 1
// Add the same part again
product.Parts.Add(part);
Console.WriteLine(product.Parts.Count); // will output 1!
Итак, я понял - избегайте дубликатов или чего-то еще.Но мне нужно, чтобы это было возможно.Есть ли способ сделать это (чтобы EF прекратил применять уникальные значения) без создания дополнительной таблицы?Или единственный способ решить эту проблему - вручную добавить промежуточную таблицу и обработать многие-ко-многим?