在执行linq to sql时如何选择所有行?
Select * From TableA
请同时使用查询语法和方法语法。
答案 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
是数据库实体类,
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);
}
本机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的编辑器可以将*自动扩展到所有列。
选择“ *全部”后,LINQPad展开*,然后可以删除不需要的列。
答案 9 :(得分:0)
简单 -
var data=db.table.ToList();
数据是可变的
db 是你的 dbcontext 变量
table 是要从中获取数据的 dbset 表。
最后转换成列表。