Попытка научиться Linq с помощью LinqPad и получить удовольствие от того, как начать с него. Скажем, я хочу написать С# Expression и С# statment, где у меня есть таблица на SQL-сервере с именем Products, и я хочу вытащить все строки, где цена больше 50. Как бы записать его?
Шаги для начинающих, чтобы запустить очень простой linq в sql-запрос с помощью Linqpad
Ответ 1
Скажем, я хочу написать выражение С# и статус С#, где я иметь таблицу на SQL-сервере с именем Продукты, и я хочу вытащить все строки где цена больше 50. Как бы записать его?
LINQPad автоматически создает типизированный DataContext для вас, поэтому вам не нужно создавать какие-либо экземпляры. В режиме выражения С# просто введите следующее:
Products.Where(p => p.Price > 50)
и нажмите F5. В качестве альтернативы вы можете использовать выражение запроса:
from p in Products
where p.Price > 50
select p
В режиме операторов С# вам нужно вызвать метод Dump(), чтобы сообщить ему о выводе результатов. Вам также необходимо завершить выражение с точкой с запятой:
Products.Where(p => p.Price > 50).Dump();
В разделе образцов LINQPad есть больше примеров - посмотрите на 5-минутную индукцию.
Ответ 2
Просто хотел добавить - панель LINQ плюрализует - я этого не знал, и это заставило меня сходить с ума за хорошие пятнадцать минут.
Я пытался выбрать из таблицы DentalApplication
DentalApplication.Where(a=> a.PackageID > 0)
Предоставил мне эту ошибку
'LINQPad.User.DentalApplication' does not contain a definition for 'Where'
Изменено на
DentalApplications.Where(a=> a.PackageID > 0)
и он работал
Ответ 3
var db = new MyDatabaseContext(); // Your database context.
var result = db.Products.Where(q=>q.Price > 50);
... где db
представляет ваш контекст ORM. Price
представляет ваше сопоставление в поле Price
в базе данных. result
представляет набор результатов - строки/сущности вашей базы данных.
Ответ 4
Отъезд: 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
}