У меня есть код, который генерирует записи на основе моего DataGridView. Эти записи являются временными, поскольку некоторые из них уже существуют в базе данных.
Crop_Variety v = new Crop_Variety();
v.Type_ID = currentCropType.Type_ID;
v.Variety_ID = r.Cells[0].Value.ToString();
v.Description = r.Cells[1].Value.ToString();
v.Crop = currentCrop;
v.Crop_ID = currentCrop.Crop_ID;
К сожалению, в этом небольшом кусочке кода, потому что я говорю, что v.Crop = currentCrop,
теперь currentCrop.Crop_Variety включает эту временную запись. И когда я иду, чтобы вставить записи этой сетки, которые являются новыми, у них есть ссылка на ту же запись Crop, и поэтому эти временные записи, которые уже существуют в базе данных, появляются дважды, вызывая ошибки дублирующихся ключей при отправке. *
У меня есть целая система для определения того, какие записи должны быть добавлены, а какие необходимо удалить, основываясь на том, что сделал пользователь, но это застревает в результате этого непрерывного отслеживания ссылок.
Есть ли способ, которым я могу остановить Linq-To-Sql от автоматического добавления этих временных записей в свои коллекции таблиц?