TableName中Select *的Lambda表达式

时间:2009-07-15 13:05:55

标签: c# linq c#-3.0

我只想知道Select * from TableName的lambda表达式是什么。 就像普通的LINQ一样,它将是var res=from s in db.StudentDatas select s; 这里StudentData是表的名称。

感谢。

5 个答案:

答案 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();