我只想知道Select * from TableName
的lambda表达式是什么。 像在纯LINQ中一样,它将是var res=from s in db.StudentDatas select s
; 这里StudentData
是表格的名称。从TableName中选择*的Lambda表达式
谢谢。
我只想知道Select * from TableName
的lambda表达式是什么。 像在纯LINQ中一样,它将是var res=from s in db.StudentDatas select s
; 这里StudentData
是表格的名称。从TableName中选择*的Lambda表达式
谢谢。
Lambda表达式:
var res = db.StudentDatas;
你可以使用一个,但是这将是毫无意义:
var res = db.StudentDatas.Select(s => s);
您不需要lambda表达式。你只需要收集所有成员。
编译器将其转换沿着这些路线的东西:
db.StudentDatas.Select(s => s)
的转换为SQL由基类库来完成。 SQL,当然,不使用lambda表达式...不需要
尽管两者在技术上都是正确的,但它们都会以简单化的形式给出相同的结果,这仅仅是因为db.table
的默认行为是“选择”。在幕后,他们是不同的。一个是System.Data.Linq.Table
,另一个是System.Linq.IQuerable
。 例如
var x = db.table ; var y= db.table(s=>s);
X = y;
会导致编译器错误。
使用动态Linq库时,如果必须在运行时创建动态查询,则必须使用IQuerable
作为初始选择。这意味着var qry = db.table(s=>s);
相对于VAR qry = db.table;
然后你可以去和你的连锁查询:qry = qry.Where(bla bla bla);
发现了几个咬指甲会议后艰辛的道路。
代码:
var allmember = eg_.table.where(x=>x).ToList();
Lambda表达式是匿名函数,而不是查询。他们被用作查询的一部分,虽然... – 2009-07-15 13:10:31
为什么像这样的问题得到downvoted,当一个简单的解释就足够了? – 2009-07-15 13:11:12
@罗伯特哈维:因为我们生活在仇恨的世界 – 2009-07-15 13:15:17