如何获取已插入数据库的最新数据?
我正在使用以下代码插入:
DB.One one = new DB.One();
one.Name = "Name";
db.One.InsertOnSubmit(one);
db.SubmitChanges();
DB.Two two = new DB.Two();
two.OID = one.ID;
two.Age = 20;
db.Two.InsertOnSubmit(two);
db.SubmitChanges();
当我查询我使用的数据时:
var data = from d in db.One
where d.Name.Contains(textBox1.Text.Trim())
select d;
dataGridView1.DataSource = data;
dataGridView2.DataSource = data;
dataGridView2.DataMember = "Two";
在datagridview2中,它不显示数据,但是当我重新启动程序时。 一个和两个表包含One.ID - >之间的关系。 Two.OID
答案 0 :(得分:1)
您有查询,但是对于您需要获取数据的绑定,请尝试以下
dataGridView2.DataSource = data.ToList();
答案 1 :(得分:1)
只需添加.ToList()
var data = (from d in db.One
where d.Name.Contains(textBox1.Text.Trim())
select d).ToList();
dataGridView1.DataSource = data;
答案 2 :(得分:0)
var data = from d in db.One
where d.Name.Contains(textBox1.Text.Trim())
select d;
此声明在您拨打.Count()
或.ToList()
之类的内容之前不会执行,这称为Deferred Execution
。拿一个look at the table in this article
,你会看到运营商的分类。
要获取最新信息,可能需要查看OrderByDescending
。
var data = from d in db.One.OrderByDescending(d => d.DateAdded);//for example
编辑:根据您的更新
您希望dataGridView2
使用db.Two
吗?
var data = (from d in db.One
where d.Name.Contains(textBox1.Text.Trim())
select d).ToList();
var data2 = (from d in db.Two
where d.Name.Contains(textBox1.Text.Trim())
select d).ToList();
dataGridView1.DataSource = data;
dataGridView2.DataSource = data2;
答案 3 :(得分:0)
在分配数据后调用dataGridView.DataBind();
方法。