使用LINQ读取特定列的所有行

时间:2015-05-07 19:30:59

标签: c# linq entity-framework

听起来微不足道,但我找不到一个优雅的答案:如何使用实体框架上下文中的LINQ将特定列的所有行读入字符串列表?

2 个答案:

答案 0 :(得分:10)

您可以尝试以下简单的操作:

var rows = dbContext.TableName.Select(x=>x.ColumName);

其中dbContext是您使用的课​​程" talk"对于您的数据库,TableName是表的名称,您希望读取其列值,ColumnName是列的名称。

此外,如果在ToList之后放置Select,您将创建对象列表,其类型将是名为ColumnName的列中值的类型。

答案 1 :(得分:5)

克里斯托斯的回答只会给你一个智慧。如果你想要一个真正的List,你需要对IQueryable做一些事情:

var rows = dbContext.TableName.Select(x=>x.ColumName).ToList();

虽然我可能会使用LINQ语法:

var rows = (from c in dbContext.TableName
             select c.ColumnName).ToList();

这两种形式是等效的。