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

4

1 回答 1

0

如果您用于创建和id_buyer之间的关系,则需要先保存。PaymentBuyerret

于 2013-01-24T20:54:24.727 回答