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

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

4 ответа

Решение

Допустим, я хочу написать выражение 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-минутную индукцию.

Просто хотел добавить - 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)

и это сработало

var db = new MyDatabaseContext();  // Your database context.
var result = db.Products.Where(q=>q.Price > 50);

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

Проверьте: 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
}
Другие вопросы по тегам