Sql Query to Linq To Sql - PullRequest
       5

Sql Query to Linq To Sql

1 голос
/ 22 сентября 2009

У меня есть некоторые трудности, когда дело доходит до многотабличного запроса в Linq to Sql. У меня есть 3 таблицы:

  • Продукт
  • Строка (с Fk-ProductId )
  • Цена (с Fk-RowId )

Я бы хотел получить минимальную цену товара. Мне удалось получить правильный запрос Sql, но теперь мне нужно «перевести» этот запрос в Linq To Sql. Можете ли вы помочь мне?

Вот запрос Sql:

SELECT Min(cp.Price) 
FROM Products p, Rows r, ConstantPrices cp 
WHERE p.ProductId = r.ProductId AND 
      r.RowId = cp.RowId AND 
      p.ProductId = XXX;

Ответы [ 2 ]

1 голос
/ 22 сентября 2009

Вот решение:

decimal? min = (from p in db.Products
               join r in db.Rows on p.ProductId equals r.ProductId
               join cp in db.ConstantPrices on r.RowId equals cp.RowId
               where p.ProductId == 1
               select cp.Price).Min();
0 голосов
/ 22 сентября 2009
var productQuery = from p in myContext
               where p.id == someId
               select (double?) p.Row.Price;
var minPrice = productQuery.Min();

Здесь важно значение nullable, иначе он потерпит неудачу, если в системе нет продуктов, строк или цен.

Речь идет не о переводе запросов, а об использовании того, что дает вам linq2sql.

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