私は結合でLINQクエリを実行しています。私は2つの列の減算を変数AVAILABLECARET
に保存しています。linqクエリから単一の値を取得
var query = from r in db.Roughs
join a in db.Assorts on r.ROUGHNO equals a.RFNO into ra
from a in ra.DefaultIfEmpty()
where r.ROUGHNO == id.ToString()
select new { AVAILABLECARET=r.CARET - a.CARET };
変数にAVAILABLECARET
をどうやって得るのですか?
UPDATE
は、私はあなたがしたい場合は、この
decimal values = (from r in db.Roughs
join a in db.Assorts on r.ROUGHNO equals a.RFNO into ra
from a in ra.DefaultIfEmpty()
where r.ROUGHNO == id.ToString()
select (r.CARET - a.CARET)).Sum();
ようにしなければならないか、単一の値を取得するには、次のよう
var AVAILABLECARET= from r in db.Roughs
join a in db.Assorts on r.ROUGHNO equals a.RFNO into ra
from a in ra.DefaultIfEmpty()
where r.ROUGHNO == id.ToString()
select new { AVAILABLECARET=r.CARET - a.CARET }.AVAILABLECARET;
「変数内」ではありませんか? 'query'はこれの結果の集合を含んでいなければなりません。それぞれの結果はちょうど1つのプロパティ... AVAILABLECARET'を持ちます。あなたの 'query'変数には何が含まれていますか? – David
@David - すぐに実行すると質問が表示される可能性があるので、ToList()を呼び出すことを忘れてしまったと思います。 –
@PranayRana:おそらく、彼は最初に自分の結果を調べたり検証しているかどうか疑問に思います。例えば、彼が 'query.ToString()'をどこかに出力しているのなら、それは確かに実践的なことです。 Visual Studioデバッガは、変数を調べるときに結果を列挙するオプションを提示していました。それが事実であったとしても、OPは確かにその代わりに*を求めていたはずです。私はあなたが正しい推測をしていると思いますが、将来の読者のために、違ったことを推測するかもしれませんが、OPが明らかにできるならそれは素晴らしいでしょう。 – David