Лямбда-выражение выбора * из TableName - PullRequest
9 голосов
/ 15 июля 2009

Я просто хочу знать, что такое лямбда-выражение Select * from TableName. Как и в обычном LINQ, это будет var res=from s in db.StudentDatas select s; здесь StudentData - название таблицы.

Спасибо.

Ответы [ 5 ]

17 голосов
/ 15 июля 2009

Лямбда-выражение не нужно:

var res = db.StudentDatas;

Вы могли бы использовать один, но это было бы довольно бессмысленно:

var res = db.StudentDatas.Select(s => s);
3 голосов
/ 15 июля 2009

Компилятор переведет это во что-то вроде:

db.StudentDatas.Select(s => s)

Перевод на SQL выполняется библиотекой базовых классов. SQL, конечно, не использует лямбда-выражения ...

1 голос
/ 15 июля 2009

Вам не нужно лямбда-выражение. Вы просто хотите, чтобы все члены коллекции.

0 голосов
/ 12 октября 2016

Код:

var allmember = eg_.table.where(x=>x).ToList();
0 голосов
/ 28 марта 2016

Хотя оба являются технически правильными, так как в обоих случаях они дают одинаковый результат в упрощенной форме, это происходит только потому, что стандартное поведение 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);

Обнаружил это нелегко после нескольких сессий гвоздя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...