繁体   English   中英

SQL查询到Linq到SQL

[英]Sql Query to Linq To Sql

对于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;

这是一个解决方案:

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();
var productQuery = from p in myContext
               where p.id == someId
               select (double?) p.Row.Price;
var minPrice = productQuery.Min();

此处的nullable很重要,否则,如果系统中没有产品,行或价格,它将失败。

它与翻译查询无关 ,而与利用linq2sql提供的功能有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM