【发布时间】:2012-02-09 19:39:41
【问题描述】:
我是 LINQ 的新手,到现在为止我都做得很好,但现在坚持下去了。
我有一个绑定到 DataGridView 的 LINQ 对象,让用户编辑包含。 对于简单的单表查询,它运行良好,但是如何构建一个多表的 LINQ 查询,所以结果仍然是读/写的?
这是我的意思的一个例子:
GMR.Data.GMR_Entities GMR = new GMR.Data.GMR_Entities();
var dt = from Msg in GMR.tblMessages
join lang in GMR.tblDomVals on 1 equals 1//on Msg.pLangueID equals lang.ID
select Msg;
// select new {lang.DescrFr, Msg.Message,Msg.pLangueID } ;
this.dataGridView1.DataSource = dt;
在这个简单的查询中,如果我使用 select 语句只返回“Msg”,则可以编辑网格。但是如果我用 select new {lang.DescrFr, Msg.Message,Msg.pLangueID } 替换 select 语句;网格将是只读的。 我很容易理解这是由于查询结果是匿名类型的。 但是有没有办法让表 tblMessage 可写?
【问题讨论】: