2016-02-11 121 views
0

我有这三张表。我写了自己的SQL代码,但无法将其转换为List<>。你能帮我吗?使用Entity Framework加入三张表

SQL输出:

enter image description here

这是我的SQL代码:

Select 
    H.HastaAdSoyad, R.RandevuTarihi, R.RandevuSaati 
From 
    Hasta H 
Inner Join 
    Randevu R On H.HastaId = R.HastaId 
Inner Join 
    Doktor D On R.DoktorId = D.DoktorId 

这些都是我的表:

enter image description here

+0

@CodeNotFound感谢编辑。 –

回答

1

你有导航propertie您的模型中有。这意味着你不必担心连接 - 它们会为你生成。

等效LINQ查询是这么简单:

var query = from hasta in db.Hasta 
      select new 
      { 
       hasta.HastaAdSoyad, 
       hasta.Randevu.RandevuTarihi, 
       hasta.Randevu.RandevuSaati 
      }; 
var result = query.ToList(); 

为什么原来的SQL查询包括加盟Doktor表目前还不清楚。

如果你真的想加入(一些未知的原因),则该查询

var query = from hasta in db.Hasta 
      join randevu in db.Randevu on hasta.RandevuId equals randevu.RandevuId 
      join doktor in db.Doktor on randevu.DoktorId equals doktor.DoktorId 
      select new 
      { 
       hasta.HastaAdSoyad, 
       randevu.RandevuTarihi, 
       randevu.RandevuSaati 
      }; 
+0

我需要加入'Doktor'表,因为DoktorId需要等于我的会话值。 –

+0

如何在MVC中显示此列表? –