2013-01-24 37 views
0

我在擁有支付模型的c#和實體框架中有一個類庫。根據第一個實體框架創建兩個實體,具體取決於實體框架中的第一個

我的支付模式有一個表叫Payment,然後另一個表稱爲PaymentSolid,就像如果第一個具有IdSeller這最後一個保存第一個實值,那麼seccond一個有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率先然後創建固體。

回答

0

如果您使用id_buyer來創建PaymentBuyer之間的關係,您需要先保存ret

+0

這就是我認爲...我會嘗試。 –

相關問題