2017-03-01 7 views
-1
var model = _db.Seuni 
       .Join(from o in _db.Keuni 
         join 
         c in _db.Seuni 
         on o.klasaid equals c.klasaid 
          select new {o.emriklases,c.emristudent,c.studentid,c.nota }) 
         .OrderByDescending(r => r.nota) 

に参加し、私はこのLINQ拡張メソッドのための正しい構文を見つけるために検索している、と私はSB私に正しいものを与えることができていません?ありがとうございます事前にのasp.net MVC 4 LINQ拡張メソッドの構文は、私はこのコードのサンプルを持って

+0

あなたはメソッドの構文を使用することができない場合は、なぜあなたは、クエリ構文を使用していませんか?ジョインになるともっと読みやすくなります。クエリ構文でサポートされていないメソッドを使用する必要がある場合は、2つのクエリに分割します。 LINQの遅延実行により、それほど効率的ではありません。 –

+0

私は知っていますが、私は拡張メソッドを見つけようとしています。私はそれをどこにも見つけられないようです。私はこれを使っているsbが必要です! @TimSchmelter – user3026665

答えて

1

誤った方法でクエリとメソッドの構文が混在しています。

var model = _db.Seuni 
      .Join(_db.Keuni, 
        c => c.klasaid, 
        o => o.klasaid, 
        (c, o) => new { o.emriklases, c.emristudent, c.studentid, c.nota }) 
      .OrderByDescending(r => r.nota); 

か(注文の方法)クエリと構文

// query syntax 
var model = (from o in _db.Keuni 
      join c in _db.Seuni on o.klasaid equals c.klasaid 
      select new { o.emriklases, c.emristudent, c.studentid, c.nota }) 
      .OrderByDescending(r => r.nota); 
+0

だから、もう一つは正しいでしょうか? – user3026665

+0

どちらも正しいです。 1つはメソッド構文であり、もう1つはクエリ構文です。見つけやすいものを使用してください。 –

+0

そして、もしあなたがlinqとの結合が必要ならば、おそらくあなたのデータ設計に何か問題があります。あなたはめったに参加する必要はありません。 –

関連する問題