Linq to sql 如何在linq to sql中执行全选(*)

Linq to sql 如何在linq to sql中执行全选(*),linq-to-sql,Linq To Sql,在执行linq到sql时,如何选择所有行 Select * From TableA 请同时使用查询语法和方法语法 from row in TableA select row 或者只是: TableA 在方法语法中,使用其他运算符: TableA.Where(row => row.IsInteresting) // no .Select(), returns the whole row. 基本上,您已经选择了所有列,然后选择将其转换为您关心的列,因此您甚至可以执行以下操作: from

在执行linq到sql时,如何选择所有行

Select * From TableA
请同时使用查询语法和方法语法

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

要选择所有行还是所有列

不管怎样,你实际上不需要做任何事情

DataContext对每个表都有一个属性;您可以简单地使用该属性访问整个表

例如:

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

你为什么不使用

DbTestDataContext obj = new DbTestDataContext();
var q =from a in obj.GetTable<TableName>() select a;
DbTestDataContext obj=new DbTestDataContext();
var q=从obj.GetTable()中的a选择a;

这很简单。

您希望从数据库中选择所有数据,然后可以尝试以下操作:-

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

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


var qry=ent.tableName.Select(x=>x.ToList()

假设
TableA
为table
TableA
的实体,而
TableADBEntities
为DB实体类

  • LINQ方法
  • IQueryable结果;
    使用(var context=new tableadbenties())
    {
    结果=context.TableA.Select(s=>s);
    }
    
  • LINQ到SQL查询
  • IQueryable结果;
    使用(var context=new tableadbenties())
    {
    var qry=来自context.TableA中的s
    选择s;
    结果=qry.选择(s=>s);
    }
    
    本机SQL还可以用作:

  • 本机SQL
  • IList结果列表;
    使用(var context=new tableadbenties())
    {
    resultList=context.TableA.SqlQuery(“Select*from dbo.TableA”).ToList();
    }
    

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

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

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

    选择“*all”后,LINQPad将展开*,然后我可以删除不需要的列

    简单-

    var data=db.table.ToList()

    数据是可变的

    db是dbcontext变量

    表是要从中提取数据的dbset表


    最后在列表中进行转换。

    不要执行这两项操作。相反,只需编写
    var rows=dc.MyTable
    。他要求查询语法和方法语法,这就是我给他的。不要给他他想要的;给他所需要的。他显然不太懂LinqtoSQL。不,我还不太懂LinqtoSQL。我还没有时间去读关于它的书,当我需要信息的时候,我就开始四处看看。另外,我在等待时机好转。因为我宁愿学习,因为它可以使用所有的数据库。公平的说,但是我提供的任何一种解决方案都没有错。在构建更复杂的查询方面,它们为您提供了一个良好的起点。我支持这个问题。这是一个比所选答案更有用的答案,因为它更简单,更直接地回答了OP的问题。这个答案应该是最好的答案。让我们修正一下:)也许有一天它被否决了,因为这个答案也不是“通用的”,尽管它满足OP。对我来说,当它与EF一起使用时,allOrders是DBSet而不是IEnumerable,所以我不能紧接着allOrders.Where()。可能我只是用错了方法或者遗漏了什么,但是添加.Skip(0)对我来说很神奇。我喜欢做的另一件事是.Take(int)来提取给定数量记录的所有列。例如TableA.Take(100)您能解释一下为什么不需要显式使用TableA.Rows中row的
    ?是因为
    是默认属性吗?这是LINQ的一个特点,还是其他地方的特色?只是好奇。@roryap取决于您的DB access库,这里我假设LINQ to SQL,其中表是行,ADO或其他可以不同的东西。与所有其他答案相比,这个答案的附加值是多少?
    Dim q = From c In TableA
    Select c.TableA
    
    ObjectDumper.Write(q)
    
    DbTestDataContext obj = new DbTestDataContext();
    var q =from a in obj.GetTable<TableName>() select a;
    
    dbclassDataContext dc= new dbclassDataContext()
    List<tableName> ObjectName= dc.tableName.ToList();
    
    var Registration = from reg in dcdc.GetTable<registration>() select reg;
    
     var Registration = dc.registration.Select(reg => reg); 
    
    IQueryable<TableA> result;
    using (var context = new TableADBEntities())
    {
       result = context.TableA.Select(s => s);
    }
    
    IQueryable<TableA> result;
    using (var context = new TableADBEntities())
    {
       var qry = from s in context.TableA
                   select s;
       result = qry.Select(s => s);
    }
    
    IList<TableA> resultList;
    using (var context = new TableADBEntities())
    {
       resultList = context.TableA.SqlQuery("Select * from dbo.TableA").ToList();
    }