我第一次使用LINQ,遇到了一个奇怪的问题。我正在使用MS SQL 2008.如果我更改了一行和SubmitChanges(),我可以看到SQL Server Management Studio中的更改,但是当我查询用更新的信息填充我的dataGridViews时,我得到旧版本的数据。Linq to SQL:SubmitChanges无法正常工作后更新dataGridView
下面是我的数据的变化:
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 2013-05-01 16:15:02
db.equipments的返回类型是什么?它是否可枚举<>? AutoGenerateColumns属性是否也设置为true? – 2013-05-01 16:19:24
不知道如何找到。当我将鼠标悬停在上面时,它被列为System.Data.Linq.Table InventoryDataContext设备。是的,AutoGenerateColumns属性为true。 –
user1751215
2013-05-01 16:27:11