は、私は今、私はすぐに期限切れとなる製品のリストを取得したいこのLINQ to SQLのクエリをどのように作成できますか?
Table Product
ProductId - int <PK>
ProductExpiry - TimeDate
AlertOfExpiry - int
ProductTypeId - int<Fk>
Table ProductType
ProudctTypeId - int <PK>
Name - varchar(50)
のような2つのテーブルを持っています。だから私がしようとしているのは
今日の今日の日付は8月24日で、製品の有効期限は28日で、4日間の有効期限が設定されています。
So 28 - 4 = 24 (show in list on 24th)
また、「名前」をProductTypeTableの出力に含めることもできます。
これはこれまで私が行ってきたことです。それはまだ散らかっているのでaddDaysに - ()
var grab = dbContext.Product.Where(u => u.ProductExpiry.addDays(Convert.ToDouble(u.AlertOfExpiry)) >= DateTime.Now)
だから最初に私がマイナスを取得する方法を確認していません。
私はそこから行って見つかった結果を見て、ProductTypeに行き、名前を取得する方法を知りません。
私はどこの部分が(grab.ProducttypeId == grab.ProductTypeid)のようになると思います。何とか名前をつかんでください。
だから誰でも私を助けることができます。また、私はそれを少しクリーナーにすることができますか?私はこれをテストしていません:
var grab = dbContext.Product
.Where(u => (u.ProductExpiry.Month == DateTime.Now.Month) &&
(u.ProductExpiry.Day <= (DateTime.Now.Day + 4)))
このような何かがあなたの製品の種類
foreach(Product prod in grab)
{
var grabProductType = dbContext.ProductType
.Where(pt => pt.ProductTypeId == prod.ProductTypeId);
}
注意のために働く必要があります。このような何かについてどう
私はそれを試しますが、後でproductTypeIdを取得する方法はありますか? – chobo2
ジョインがトリックを行うときに、2回反復する必要はありません。 – jeremyalan
@ Ph0enix-ありがとう、まだLINQを学んでいます。私は主に非常に簡単な表現をしました –