У меня есть объект в SQL (A), который имеет много-много отношений с другим объектом (B). В настоящее время я создаю DLL уровня API, которая позволит пользователю назначать объекты типа B в тип A. Прямо сейчас пользователь получит список записей типа A и список записей типа B, используя различные контексты данных LINQ. , Проблема в том, что контекст данных, связанный с A, обрабатывает любые объекты из контекста данных, связанных с B, как если бы они были новыми, и пытается вставить их, когда я вызываю SubmitChanges (). Есть ли способ сообщить контексту данных A, что эти объекты уже существуют и их не нужно создавать? Код, который я хотел бы написать, выглядит примерно так (я назову сервис A и вывод B):
List<Service> svcs = Service.GetServices();
List<Output> outs = Output.GetOutputs();
svcs[0].OutputCollection.Add(outs);
svcs[0].Save();
Каждый объект Service в моем примере имеет ссылку на контекст данных, который извлекает его из базы данных, а функция Save вызывает DataContext.SubmitChanges (); Приведенный выше код вызывает исключение, потому что он пытается добавить уже существующий вывод обратно в таблицу.
Я знаю, что это было долго, и я не уверен, что хорошо объяснил свою проблему. Любое понимание или предложения будут полезны.