Linq to sql 如何在linq to sql中执行全选(*)
在执行linq到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
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
为tableTableA
的实体,而TableADBEntities
为DB实体类
IQueryable结果;
使用(var context=new tableadbenties())
{
结果=context.TableA.Select(s=>s);
}
IQueryable结果;
使用(var context=new tableadbenties())
{
var qry=来自context.TableA中的s
选择s;
结果=qry.选择(s=>s);
}
本机SQL还可以用作:
IList结果列表;
使用(var context=new tableadbenties())
{
resultList=context.TableA.SqlQuery(“Select*from dbo.TableA”).ToList();
}
注意:
dbo
是SQL Server中的默认架构所有者。可以根据上下文中的数据库构造SQLSELECT
查询。我通常需要检索“所有”列,除了少数列。所以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();
}