我在 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
一个才能创建实体。