2011-07-24 39 views
0

在我的項目中,首先我試圖將數據添加到第一個表格,然後在第二個表格中添加新的數據,然後添加了第二個表格數據,我試圖更新第一個表格。我的Silverlight初學者,我只是簡單地不知道如何使用DomainContext更新,請參見下面的代碼示例和指導我,謝謝如何使用DomainContext提交更改更新實體?

private PaymentDomainContext paymentContext; 

    public PaymentTest() 
    { 
     InitializeComponent(); 
    } 


    // Executes when the user navigates to this page. 
    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
    } 

    private void buttonAdd_Click(object sender, RoutedEventArgs e) 
    { 
     paymentContext = new PaymentDomainContext(); 
     Customer cs = new Customer(); 
     cs.FirstName = "John"; 
     cs.LastName = "Smith"; 
     cs.InsertedDate = DateTime.Now; 
     paymentContext.Customers.Add(cs); 
     paymentContext.SubmitChanges(); 

    } 

    private void buttonUpdate_Click(object sender, RoutedEventArgs e) 
    { 

     paymentContext = new PaymentDomainContext(); 
     Customer cs = new Customer(); 
     cs.UpdatedDate = DateTime.Now; 
     paymentContext.Customers.Add(cs); 
     paymentContext.SubmitChanges(); 
    } 

回答

1
private PaymentDomainContext paymentContext; 
private Customer cs=null;//Reference to the last created customer 

public PaymentTest() 
{ 
    InitializeComponent(); 
    paymentContext = new PaymentDomainContext();//new line 
} 


// Executes when the user navigates to this page. 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
} 

private void buttonAdd_Click(object sender, RoutedEventArgs e) 
{ 
    //paymentContext = new PaymentDomainContext(); 
    cs = new Customer();//Modified line 
    cs.FirstName = "John"; 
    cs.LastName = "Smith"; 
    cs.InsertedDate = DateTime.Now; 
    paymentContext.Customers.Add(cs); 
    paymentContext.SubmitChanges(); 

} 

private void buttonUpdate_Click(object sender, RoutedEventArgs e) 
{ 

    //paymentContext = new PaymentDomainContext(); 
    //Customer cs = new Customer(); 
    if(cs!=null){ 
     cs.UpdatedDate = DateTime.Now; 
     //paymentContext.Customers.Add(cs); 
     paymentContext.SubmitChanges(); 
    } 
}