我正在使用 EF5,POCO 数据库优先方法。假设我需要创建一个新客户和一个新订单:-
var customer = new Customer();
var order = new Order();
order.Customer = customer;
order.CustomerId = customer.Id;
customer.Orders.Add(order);
我真的必须包括最后三行来建立关系吗?这里要指出的是,我正在内存中创建实体层次结构,并可能长时间操纵它,直到用户点击“保存”。
让我困惑的是创建几个新客户对象的想法。每个最终都会以 0 的 ID 结束(在被持久化之前)。在我的代码中有很多地方我使用 Order 的 CustomerId 属性来做一些事情。如果有几个新客户(ID 0),那么我如何获得正确的客户?或者我应该总是使用Order.Customer
并且从不使用Order.CustomerId
(在这种情况下,摆脱上面代码中的 ID 分配是否安全)?