私はEF5、POCOデータベースファーストアプローチを使用しています。新しい顧客と新しい注文を作成する必要があるとしましょう:-
var customer = new Customer();
var order = new Order();
order.Customer = customer;
order.CustomerId = customer.Id;
customer.Orders.Add(order);
関係を設定するために、これらの最後の3行を本当に含める必要がありますか?ここで指摘するのは、メモリ内にエンティティ階層を作成し、ユーザーが[保存]をクリックするまで、潜在的に長い時間それを操作しているということです。
私を混乱させているのは、いくつかの新しいCustomerオブジェクトを作成するというアイデアです。それぞれが0のIDで終了します(永続化される前)。私のコードには、OrderのCustomerIdプロパティを使用して何かを行うさまざまな場所があります。複数の新規顧客(ID 0)がある場合、適切な顧客を取得するにはどうすればよいですか?または、常に使用する必要がOrder.Customer
あり、決して使用しないでくださいOrder.CustomerId
(この場合、上記のコードのID割り当てを削除しても安全ですか)。