如何只接收某些列?

时间:2018-12-20 17:10:57

标签: c# sql database

我有这段代码执行一个sql查询,该查询应该只返回一列<EventData xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <Data Name="DomainPolicyChanged">Password Policy</Data> <Data Name="DomainName">XXX</Data> <Data Name="DomainSid">S-1-5-21-....</Data> <Data Name="SubjectUserSid">S-1-5-18</Data> <Data Name="SubjectUserName">SRV-XX-001$</Data> <Data Name="SubjectDomainName">DOMAIN</Data> <Data Name="SubjectLogonId">0x3e7</Data> <Data Name="PrivilegeList">-</Data> <Data Name="MinPasswordAge"></Data> <Data Name="MaxPasswordAge"></Data> <Data Name="ForceLogoff"></Data> <Data Name="LockoutThreshold">耠</Data> <Data Name="LockoutObservationWindow"></Data> <Data Name="LockoutDuration"></Data> <Data Name="PasswordProperties">耠-</Data> <Data Name="MinPasswordLength">-</Data> <Data Name="PasswordHistoryLength">-</Data> <Data Name="MachineAccountQuota">-</Data> <Data Name="MixedDomainMode">1</Data> <Data Name="DomainBehaviorVersion">8</Data> <Data Name="OemInformation">12</Data> </EventData> ,因为那是select语句中唯一的内容。但是,当我将结果BIN_NUMBER分配给数据网格时,它将显示BINS表中最初的所有列。有没有办法只返回select语句中的列,这样我就不必手动隐藏其他列了?

我知道如果我使用LINQ构建查询,我可以做到这一点,但我专门询问此功能的用法。 (dc是从LINQ到SQL类的DataContext)

emptybins

1 个答案:

答案 0 :(得分:5)

绑定到对象的数据使用组件模型作为类型-在这种情况下为BIN。您只填充了 列这一事实是无关紧要的-UI绑定现在都不知道了。如果要填充部分对象,请手动设置UI,而不要依靠自动生成列-或使用 just 其中包含值的字段创建特定于UI的类型,然后使用{{ 1}}。您可能也可以只使用ExecuteQuery<ThatType>(或任何类型)。