将所选字段插入ToList

时间:2014-08-10 13:57:45

标签: c# linq field

好的,伙计们。
冷杉的背景!我是一名退休的SQL程序员,正在尝试学习WPF C#。

我正在逐步采取这一步骤,以便了解我在做什么。我正在将数据加载到Widows_Loaded部分的WPF数据网格中。我最终将使用NOT EXISTS(LINQ)语句来做到这一点,但首先我只是想做一个简单的加载。

代码在

之下
 JR_SchoolDataDataContext conn = new JR_SchoolDataDataContext();
 List<Legislator> Legislator = (from s in conn.Legislators where s.Id == 3 select s).ToList(); 

首先,我想从表立法者中插入LastName字段。我已经查看了Stackflow和其他地方的各种示例,但ToList没有任何作用。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以通过让Linq表达式输出仅包含LastName字段的匿名对象来实现。

using(JR_SchoolDataDataContext conn = new JR_SchoolDataDataContext()) 
{
    //List<Legislator> Legislator = 
      var Legislator =   // you really need 'var' here
                 (from s
                  in conn.Legislators 
                  where s.Id == 3 
                  select new { s.LastName }).ToList(); 
  // use the List
}

在查询之后,Legislator将包含具有LastName属性的匿名对象实例的列表。

或者,您可以select s.LastName结束,最终会得到List<string>

   //List<Legislator> Legislator 
        List<string> Legislator 
                              = (from s
                               in conn.Legislators 
                               where s.Id == 3 
                               select s.LastName).ToList(); 

当您想要从查询中获取更多属性并将它们绑定到例如稍后的UI时,第一个选项很有用。如果你只想要一个领域,第二个是好的。

请注意,我在using语句中使用了数据库上下文。在您完成使用它们时,最好释放外部资源。