1

オブジェクト OrderDetail があります。これには、ID、製品オブジェクトのリスト、および配送詳細オブジェクトがあります。

注文の詳細と配送の詳細は新しいものであり、製品はデータベースに既に存在するものではありません。

私の問題は、 context.savechanges() を実行すると、製品がデータベースに追加される、つまり複製されることです。

とにかく、製品に「挿入しないでIDを使用する」とマークすることはできますか?

(1) これは論理的に間違っており、(2) パフォーマンスの問題を引き起こす可能性があるため、各製品に注文の詳細があると言うようにモデルを変更したくありませんか?

ありがとう

4

1 に答える 1

0

とにかく、製品に「挿入しないでIDを使用する」とマークすることはできますか?

はい。ただし、自分で処理する必要があります。

dbContext.OrderDetails.Add(orderDetail);
foreach(var product in orderDetail.Products) {
    dbContext.Entry(product).State = EntityState.Unchanged;
}    
dbContext.SaveChanges();
于 2012-06-22T10:58:13.390 に答える