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

Linq to sql 使用LINQ to SQL绑定到gridview时将查询哪些字段?,linq-to-sql,Linq To Sql,例如,我有一个表TableA,其中包含Field1、Field2和Field3列。我的Linq到SQL代码是: from c in a.TableAs select c 然后我将这个查询绑定到一个名为gvSample的GridView,它只使用TableA的Field1和Field2 然后,当Linq to SQL查询被枚举时,Field3的数据是否会被返回?简单地说,是-您选择的是完整的实体,因此所有映射的字段都会被返回,而不管它们是如何绑定到GridView等上游组件的 如果您只想从数据库

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

from c in a.TableAs select c
然后我将这个查询绑定到一个名为gvSample的GridView,它只使用TableA的Field1和Field2


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

简单地说,是-您选择的是完整的实体,因此所有映射的字段都会被返回,而不管它们是如何绑定到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 }

非常感谢。你能提供一个链接到一些详细描述这一点的文档,比如MSDN吗?