2017-11-23 16 views
1

このSQLクエリをLINQ構文に変換するのに役立つ人がいたら助かります。SQLクエリをLINQに変換する

SELECT i.Id, i.Condomino as Condomino, i.Interno as Interno, 
    p.NomePiano as NomePiano, s.Nome as NomeCondominio, 
    m.millesimi_fabbisogno_acs, m.millesimi_fabbisogno_riscaldamento 
    FROM Interni i 
    INNER JOIN Piani p ON i.IdPiano = p.Id 
    INNER JOIN Stabili s ON i.IdStabile = s.Id 
    LEFT JOIN MillesimiTabellaC m ON i.Id = m.idInterno 
    WHERE s.IdCondominio = {0} 

私はこのようなものを使用してみましたが、機能していません。..

return _Db.Interni.Include("Piani").Where(x => x.Piani.IdCondominio == iidcond).ToList(); 
+0

チェックアウトこの回答:https://stackoverflow.com/ a/2767742/1970317 – EvZ

+0

ToList()を挿入する場所は? –

答えて

2

は、私は(それがテストされていない)の上に、スポットにそれを作ったが、おそらくそれはあなたを与えるために十分ですアイディア。また、あなたのDBモデルに外部キーが設定されていると仮定しています。

var result = _db.Interni 
       .Where(i => i.Stabili.IdCondominio = [value]) 
       .Select(i => new 
          { 
           i.Id, 
           Condomino = i.Condomino, 
           Interno = i.Interno, 
           NomePiano = i.Piani.NomePiano, 
           NomeCondominio = i.Stabili.Nome, 
           i.MillesimiTabellaC.millesimi_fabbisogno_acs, 
           i.MillesimiTabellaC.millesimi_fabbisogno_riscaldamento 
          }) 
       .ToList(); 

あなたはInterniMillesimiTabellaC間の外部キーを持っていない場合は

更新は、これを試してみてください。

var result = _db.Interni 
       .Include(i => i.Piani) 
       .Include(i => i.Stabili) 
       .Where(i => i.Stabili.IdCondominio = [value]) 
       .Select(i => new 
          { 
           Interni = i, 
           MillesimiTabellaC = _db.MillesimiTabellaC.Where(m => i.Id = m.idInterno) 
          }) 
       .Select(x => new 
          { 
           Id = x.Interni.Id, 
           Condomino = x.Interni.Condomino, 
           Interno = x.Interni.Interno, 
           NomePiano = x.Interni.Piani.NomePiano, 
           NomeCondominio = x.Interni.Stabili.Nome, 
           x.MillesimiTabellaC?.millesimi_fabbisogno_acs, 
           x.MillesimiTabellaC?.millesimi_fabbisogno_riscaldamento 
          }) 
       .ToList(); 
+0

構文は私が探しているもののように思えます。 –

+0

i.MillesimiTabellaC.millesimi_fabbisogno_riscaldamentoが見つかりません –

+0

@AlessioR DBモデルに 'Interni'と' MillesimiTabellaC'テーブルの関係がありますか? – Szeki

関連する問題