Впервые я работал с LINQ, и у меня возникла странная проблема. Я использую MS SQL 2008. Если я изменяю строку и SubmitChanges(), я могу видеть изменения в SQL Server Management Studio, но когда я запрашиваю, чтобы пополнить мои данныеGridViews обновленной информацией, я получаю старую версию данные.Linq to SQL: Обновление данныхGridView после SubmitChanges не работает
Ниже приводится изменение моих данных:
if (textBox1.Text.Length > 1)
{
var query = from eq in db.equipments
where eq.SerNo == serial
select eq;
foreach (equipment equip in query)
{
equip.Loc = textBox1.Text;
equip.Owner = "Evisive";
equip.Status = updatedStatus;
equip.SystemName = "";
}
db.SubmitChanges();
}
else
{
MessageBox.Show("Enter a Destination");
}
Опять же, что часть работы (изменения данных в базе данных). Ниже, где я пытаюсь обновить таблицу (ту часть, которая, кажется, не работает):
public void Update_EquipmentGrid()
{
BindingSource b = new BindingSource();
b.DataSource = from eq in db.equipments
select eq;
dataGridView2.DataSource = b;
}
Разве это не правильный способ обновления таблицы?
Первое предложение кажется, не имеет никакого эффекта, а второй один отключает функцию поиска по DataGridView. – user1751215
Каков тип возврата db.equipments? Перечисляется ли оно <>? Также установлено свойство AutoGenerateColumns равным true? –
Не знаете, как это найти. Когда я навис над ним, он указан как System.Data.Linq.Table InventoryDataContext equipments. И да, свойство AutoGenerateColumns истинно. –
user1751215