我只想知道Select * from TableName
的lambda表达式是什么。
就像普通的LINQ一样,它将是var res=from s in db.StudentDatas select s
;
这里StudentData
是表的名称。
感谢。
答案 0 :(得分:16)
不需要lambda表达式:
var res = db.StudentDatas;
你可以使用一个,但它会毫无意义:
var res = db.StudentDatas.Select(s => s);
答案 1 :(得分:3)
编译器会将它转换为以下内容:
db.StudentDatas.Select(s => s)
SQL的转换由基类库完成。当然,SQL不使用lambda表达式......
答案 2 :(得分:1)
您不需要lambda表达式。您只需要该集合的所有成员。
答案 3 :(得分:0)
虽然两者在技术上都是正确的,因为它们都会以简单的形式给出相同的结果,但这只是因为db.table
的默认行为是“选择”。在幕后,他们是不同的。一个是System.Data.Linq.Table
,另一个是System.Linq.IQuerable
。
例如
var x = db.table ; var y= db.table(s=>s);
X = y;
会导致编译错误。
使用Dynamic Linq库时,如果必须在运行时创建动态查询,则必须使用IQuerable
作为初始选择。这意味着var qry = db.table(s=>s);
而不是var qry = db.table;
然后,您可以继续查询,例如:qry = qry.Where(bla bla bla);
经过几次咬钉会后,发现它很难。
答案 4 :(得分:-2)
代码:
var allmember = eg_.table.where(x=>x).ToList();