例如,我有一个TableA表,其中包含Field1,Field2和Field3列。我的Linq-to-SQL代码是:
from c in a.TableAs select c
然后我将此查询绑定到名为gvSample的GridView,该GridView仅使用TableA的Field1和Field2。
然后,当枚举Linq-to-SQL查询时,是否会返回Field3的数据?
答案 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 }