テーブルが 2 つあります。PriceList および PriceListDetail は、1 対多の現実性を備えています。新しい PriceList を挿入した後、既存の PriceList の PriceListDetail をコピーする必要があります。
var pricedetails= db.PriceListDetails.Where(p => p.PriceList Id == SomeExistingPriceListID);
上記の pricedetails の priceListID を変更し、それらを PriceListDetail テーブルに挿入するだけです。pricedetails の priceListId を変更して挿入しようとすると、「既に存在するエンティティを挿入できません」というメッセージが表示されます。
明白な解決策は、新しいエンティティを作成し、pricedetails から値を 1 つずつコピーしてから挿入することです。
1つずつコピーしないようにする方法はありますか? 重複した行を作成してから、重複した行を変更することはできますか?