根据第一个实体框架创建两个实体,第二个实体

时间:2013-01-24 14:37:43

标签: c#-4.0 entity-framework-5 objectcontext

我在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然后再创建实体。

1 个答案:

答案 0 :(得分:0)

如果您使用id_buyer创建PaymentBuyer之间的关系,则需要先保存ret