各位大声能否帮我解决一下 为什么 我在datagrid中更新数据 却无法更新到数据库中吗 我已经用了submitchanges()函数啦,是否还有什么关键语句吗?代码如下public partial class MainPage : UserControl
{
private CustomerDomainContext _customerContext = new CustomerDomainContext(); public MainPage()
{
InitializeComponent(); LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomerQuery ());
CustomerGrid.ItemsSource = loadOp.Entities;
} private void LetterButton_Click(object sender, RoutedEventArgs e)
{
IDButton.IsEnabled = false;
LetterButton.IsEnabled = false;
LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersByLastNameLetterQuery(LetterValue.Text), CustomerLoadedCallback, null);
CustomerGrid.ItemsSource = loadOp.Entities;
} private void IDButton_Click(object sender, RoutedEventArgs e)
{
IDButton.IsEnabled = false;
LetterButton.IsEnabled = false;
LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersByIDQuery(int.Parse(IDValue.Text)), CustomerLoadedCallback, null);
CustomerGrid.ItemsSource = loadOp.Entities;
} void CustomerLoadedCallback(LoadOperation<Customer> loadOperation)
{
IDButton.IsEnabled = true;
LetterButton.IsEnabled = true;
} private void SaveButton_Click(object sender, RoutedEventArgs e)
{
_customerContext.SubmitChanges(OnSubmitCompleted, null);
} private void RejectButton_Click(object sender, RoutedEventArgs e)
{
_customerContext.RejectChanges();
CheckChanges();
} private void CustomerGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e)
{
CustomerGrid.CommitEdit(DataGridEditingUnit.Row, true);
//_customerContext.SubmitChanges();
CheckChanges();
} private void CheckChanges()
{
EntityChangeSet changeSet = _customerContext.EntityContainer.GetChanges();
ChangeText.Text = changeSet.ToString(); bool hasChanges = _customerContext.HasChanges;
SaveButton.IsEnabled = hasChanges;
RejectButton.IsEnabled = hasChanges;
} private void OnSubmitCompleted(SubmitOperation so)
{
if (so.HasError)
{
MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message));
so.MarkErrorAsHandled();
}
CheckChanges();
}
}
{
private CustomerDomainContext _customerContext = new CustomerDomainContext(); public MainPage()
{
InitializeComponent(); LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomerQuery ());
CustomerGrid.ItemsSource = loadOp.Entities;
} private void LetterButton_Click(object sender, RoutedEventArgs e)
{
IDButton.IsEnabled = false;
LetterButton.IsEnabled = false;
LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersByLastNameLetterQuery(LetterValue.Text), CustomerLoadedCallback, null);
CustomerGrid.ItemsSource = loadOp.Entities;
} private void IDButton_Click(object sender, RoutedEventArgs e)
{
IDButton.IsEnabled = false;
LetterButton.IsEnabled = false;
LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersByIDQuery(int.Parse(IDValue.Text)), CustomerLoadedCallback, null);
CustomerGrid.ItemsSource = loadOp.Entities;
} void CustomerLoadedCallback(LoadOperation<Customer> loadOperation)
{
IDButton.IsEnabled = true;
LetterButton.IsEnabled = true;
} private void SaveButton_Click(object sender, RoutedEventArgs e)
{
_customerContext.SubmitChanges(OnSubmitCompleted, null);
} private void RejectButton_Click(object sender, RoutedEventArgs e)
{
_customerContext.RejectChanges();
CheckChanges();
} private void CustomerGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e)
{
CustomerGrid.CommitEdit(DataGridEditingUnit.Row, true);
//_customerContext.SubmitChanges();
CheckChanges();
} private void CheckChanges()
{
EntityChangeSet changeSet = _customerContext.EntityContainer.GetChanges();
ChangeText.Text = changeSet.ToString(); bool hasChanges = _customerContext.HasChanges;
SaveButton.IsEnabled = hasChanges;
RejectButton.IsEnabled = hasChanges;
} private void OnSubmitCompleted(SubmitOperation so)
{
if (so.HasError)
{
MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message));
so.MarkErrorAsHandled();
}
CheckChanges();
}
}
2. 单步后,更新数>0么?