使用LINQ to SQL绑定到gridview时将查询哪些字段?

时间:2009-08-28 04:39:44

标签: linq-to-sql

例如,我有一个TableA表,其中包含Field1,Field2和Field3列。我的Linq-to-SQL代码是:

from c in a.TableAs select c

然后我将此查询绑定到名为gvSample的GridView,该GridView仅使用TableA的Field1和Field2。

然后,当枚举Linq-to-SQL查询时,是否会返回Field3的数据?

1 个答案:

答案 0 :(得分:0)

简单地说,是的 - 您正在选择完整实体,因此将返回所有映射字段,无论它们如何绑定到上游组件(如GridView)。

如果您只想从数据库中返回字段的子集,那么您的查询将更像是这样:

from c in a.TableAs select new { Field1, Field2 }

这将仅从数据库表中选择Field1和Field2,转换为仍适合绑定到GridView的匿名类型。如果您不想使用匿名类型,也可以投射到一个众所周知的对象:

from c in a.TableAs select new MyEntity() { Prop1 = c.Field1, Prop2 = c.Field2 }