1

これが状況です。1 つのオブジェクト (製品) を作成し、db コンテキストを介して保存します。次に、その製品をデータベースからロードし、それらを別のオブジェクト (ダウンロード) に入れて、そのオブジェクトを保存します。次に、EF は、読み込まれた元の製品の別のデータベース エントリを作成します。だから今、私はデータベースに同じ製品を2つ持っています。これは意図したとおりに機能していますか? このようなことを防ぐために、EF はデータベースからロードされたオブジェクトを追跡していると思いました。

あなたが本当にそれを望むなら、ここに1つの製品のランダムなコードがあります.

product product1 = new product{blah blah blah};
context.Products.add(product1);
context.savechanges();

var prod1 = context.Products.Where(x => x.Id == 1).FirstOrDefault();

user = new User { new Download {product = (product)prod1}};
context.Users.add(user);
context.save(user);
4

1 に答える 1