我有一个C#类库和具有支付模型的实体框架。
我的支付模型有一个名为Payment
的表,然后是另一个名为PaymentSolid
的表,最后一个保存了第一个的实心值,例如如果第一个有IdSeller
,那么第二个有SellerName
。
我的问题是我有一个名为NewPayment
的方法,可以在其中创建Payment
实体和PaymentSolid
。我的方法中有下一个代码:
Payment ret;
using (var context = new MyEntities())
{
ret = new Payment
{
id_buyer = IdBuyer,
id_seller = IdSeller,
id_seller_bill_to = IdSellerBillTo,
id_payment_method = IdPaymentMethod,
creation_date = CreationDate,
payment_status = PaymentStatus,
notes = Notes
};
context.Payments.AddObject(ret);
context.Refresh(RefreshMode.StoreWins, ret);
var retSolid = new PaymentSolid {
buyer_name = ret.Buyer.ProviderName,
seller_name = ret.Seller.ProviderName,
seller_bill_to_name = ret.SellerBillTo != null ? ret.SellerBillTo.ProviderName : null,
payment_method_name = ret.PaymentMethod.name
};
ret.PaymentSolid = retSolid;
context.SaveChanges();
context.Refresh(RefreshMode.StoreWins, ret);
}
return ret;
}
我的问题是我是否可以使用 ret.Buyer.ProviderName
来创建实体,或者我是否必须先保存Payment
才能创建实体。
如果您使用 id_buyer
在Payment
和Buyer
之间创建关系,则需要先保存ret
。