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

C# 使用LINQ读取特定列的所有行,c#,linq,entity-framework,C#,Linq,Entity Framework,听起来很琐碎,但我找不到一个优雅的答案:如何将特定列的所有行读入字符串列表(例如使用实体框架上下文上的LINQ)?您可以尝试以下简单的方法: var rows = dbContext.TableName.Select(x=>x.ColumName); 其中,dbContext是用于与数据库“对话”的类,TableName是要读取其列值的表的名称,ColumnName是列的名称 此外,如果在选择之后放置列表,则将创建对象列表,其类型将是名为ColumnName列中的值类型 克里斯托斯的回答

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

您可以尝试以下简单的方法:

var rows = dbContext.TableName.Select(x=>x.ColumName);
其中,
dbContext
是用于与数据库“对话”的类,
TableName
是要读取其列值的表的名称,
ColumnName
是列的名称


此外,如果在
选择之后放置
列表
,则将创建对象列表,其类型将是名为
ColumnName
列中的值类型

克里斯托斯的回答只会给你一个答案。如果您想要一个实际的列表,您需要使用IQueryable执行一些操作:

var rows = dbContext.TableName.Select(x=>x.ColumName).ToList();
尽管我可能会选择LINQ语法:

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

这两种形式是等价的。

回答得好,为了学习,我会在有更多选择时接受它。非常感谢。您还可以在dbContext.TableName选择t.ColumnName中,将Christos答案写成
var rows=from t