C# 4.0 - 创建两个实体,第二个实体取决于实体框架中的第一个实体



我有一个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_buyerPaymentBuyer之间创建关系,则需要先保存ret

相关内容