Я некоторое время боролся с этим. Я пытаюсь реализовать много к одной ассоциации. У меня есть группа строк в таблице, называемая показаниями. Они накапливаются со временем, и время от времени я хочу их экспортировать. Когда я их экспортирую, я хочу создать новый объект ExportEvent, чтобы отслеживать, какие строки были экспортированы, поэтому при необходимости они могут быть реэкспортированы. Поэтому Чтение имеет отношение NULL с внешним ключом с ExportEvent, поскольку я создаю показания перед их экспортом.LINQ to SQL - получить объект, изменить, SubmitChanges() создает новые объекты
Что я вывод, что когда я затем сделать экспорт, первый ли я создать ExportEvent (ЭВТ) и добавьте показания с помощью
evt.Readings.AddRange(),
или если я использую
foreach(reading)
reading.ExportEvent = evt
Когда я вызываю SubmitChanges, я всегда получаю новую кучу чтений, созданных с помощью ассоциации evt, и исходные записи не обновляются.
Я позаботился об этом еще до его простейшего, хотя бы для того, чтобы увидеть, могу ли я создать два объекта без ассоциации, и даже нашел, когда я только что получил все показания и обновил значение int на них, подчиненные все еще вставили куча новых записей. Что происходит?
Я отбросил вопрос. Я думаю, что это действительно хороший вопрос, и хороший ответ может помочь другим людям начать работу с Linq. –