Шаги для начинающего, чтобы выполнить очень простой запрос linq to sql, используя Linqpad - PullRequest
14 голосов
/ 03 ноября 2011

Попытка изучить Linq с помощью LinqPad и разочароваться в том, как начать на нем. Допустим, я хочу написать выражение C # и статистику C #, где у меня есть таблица на сервере SQL с именем Products, и я хочу получить все строки, где цена больше 50. Как бы вы это написали?

Ответы [ 4 ]

20 голосов
/ 04 ноября 2011

Допустим, я хочу написать выражение C # и оценку C #, где я есть таблица на сервере SQL с именем Products, и я хочу, чтобы вытащить все строки где цена больше 50. Как бы вы написали это?

LINQPad автоматически создает типизированный DataContext для вас, поэтому вам не нужно ничего создавать. В режиме выражения C # просто введите следующее:

Products.Where(p => p.Price > 50)

и нажмите F5. В качестве альтернативы вы можете использовать выражение запроса:

from p in Products
where p.Price > 50
select p

В режиме операторов C # вам нужно вызвать метод Dump (), чтобы он выписал результаты. Вам также необходимо завершить выражение точкой с запятой:

Products.Where(p => p.Price > 50).Dump();

В разделе примеров LINQPad есть еще примеры - посмотрите на 5-минутную индукцию.

9 голосов
/ 15 сентября 2014

Просто хотел добавить - LINQ pad множественно - я не знал этого, и это сводило меня с ума на добрые пятнадцать минут

Я пытался выбрать из таблицы с именем DentalApplication

    DentalApplication.Where(a=> a.PackageID > 0)

Дали мне эту ошибку

    'LINQPad.User.DentalApplication' does not contain a definition for 'Where'

Изменили ее на

    DentalApplications.Where(a=> a.PackageID > 0)

и все заработало

3 голосов
/ 03 ноября 2011
var db = new MyDatabaseContext();  // Your database context.
var result = db.Products.Where(q=>q.Price > 50);

... где db представляет ваш контекст ORM. Price представляет ваше отображение в поле Price в базе данных. result представляет набор результатов - строки / сущности вашей базы данных.

0 голосов
/ 03 ноября 2011

Проверьте: http://msdn.microsoft.com/en-us/library/bb397933(v=vs.90).aspx, который даст вам представление о Linq и использовании лямбда-выражений.

Затем взгляните на http://msdn.microsoft.com/en-us/library/bb386927.aspx, который даст вам основы, но ответит на ваш конкретный вопрос:

var products = db.Products.Where(prod => prod.Price > 50);
foreach(var product in products)
{
     //do something
}
...