如何在linq中选择All(*)到sql

时间:2009-10-18 20:58:03

标签: linq-to-sql

在执行linq to sql时如何选择所有行?

Select * From TableA

请同时使用查询语法和方法语法。

10 个答案:

答案 0 :(得分:91)

from row in TableA select row

或者只是:

TableA

在方法语法中,与其他运算符一起使用:

TableA.Where(row => row.IsInteresting) // no .Select(), returns the whole row.

基本上,您已经在选择所有列,然后选择将其转换为您关注的列,因此您甚至可以执行以下操作:

from user in Users select user.LastName+", "+user.FirstName

答案 1 :(得分:66)

您要选择所有行还是所有列?

无论哪种方式,你实际上并不需要做任何事情。

DataContext具有每个表的属性;您只需使用该属性即可访问整个表格。

例如:

foreach(var line in context.Orders) {
    //Do something
}

答案 2 :(得分:19)

using (MyDataContext dc = new MyDataContext())
{
    var rows = from myRow in dc.MyTable
               select myRow;
}

OR

using (MyDataContext dc = new MyDataContext())
{
    var rows = dc.MyTable.Select(row => row);
}

答案 3 :(得分:3)

你想从数据库中选择所有数据然后你可以试试这个: -

dbclassDataContext dc= new dbclassDataContext()
List<tableName> ObjectName= dc.tableName.ToList();

否则你可以试试这个: -

var Registration = from reg in dcdc.GetTable<registration>() select reg;

和方法Syntex: -

 var Registration = dc.registration.Select(reg => reg); 

答案 4 :(得分:2)

Dim q = From c In TableA
Select c.TableA

ObjectDumper.Write(q)

答案 5 :(得分:0)

为什么不使用

DbTestDataContext obj = new DbTestDataContext();
var q =from a in obj.GetTable<TableName>() select a;

这很简单。

答案 6 :(得分:0)

您可以使用简单的linq查询来从sql表中选择所有记录

var qry = ent.tableName.Select(x =&gt; x)。ToList();

答案 7 :(得分:0)

假设TableA是表TableA的实体,并且TableADBEntities是数据库实体类,

  1. LINQ方法
IQueryable<TableA> result;
using (var context = new TableADBEntities())
{
   result = context.TableA.Select(s => s);
}
  1. LINQ到SQL查询
IQueryable<TableA> result;
using (var context = new TableADBEntities())
{
   var qry = from s in context.TableA
               select s;
   result = qry.Select(s => s);
}

本机SQL也可以用作:

  1. 本地SQL
IList<TableA> resultList;
using (var context = new TableADBEntities())
{
   resultList = context.TableA.SqlQuery("Select * from dbo.TableA").ToList();
}

注意:dbo是SQL Server中的默认架构所有者。可以根据上下文中的数据库构造一个SQL SELECT查询。

答案 8 :(得分:0)

除少数几个列外,我经常需要检索“所有”列。所以Select(x => x)对我不起作用。

LINQPad的编辑器可以将*自动扩展到所有列。

enter image description here

选择“ *全部”后,LINQPad展开*,然后可以删除不需要的列。

enter image description here

答案 9 :(得分:0)

简单 -

var data=db.table.ToList();

数据是可变的

db 是你的 dbcontext 变量

table 是要从中获取数据的 dbset 表。

最后转换成列表。