Шаги для начинающего, чтобы выполнить очень простой запрос 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
}