linq ExecuteQuery return multiple objects

// 1. Sadece Table1 sınıfını döndürür:

var query = "Select t1.*, t2.*, t2.PK
From Table1 t1
Inner Join Table2 t2 On t2.PK= t1.FK"


// 2. Hem Table1 sınıfını, hem de Table1 sınıfını döndürür:

var query = "Select t1.*, t2.*, t1.FK
From Table1 t1
Inner Join Table2 t2 On t2.PK= t1.FK"

var karars = db.ExecuteQuery(query).ToList();


// 3. Herhangi bir sınıf'ın örneğini döndürmez. Sadece select ile belirtilen alanları döndürür:

select new { k.KararId, k.Baslik, k.EsasNo, k.EsasTarihi, k.KararNo, k.KararTarihi, k.Ozet, k.MerciId, m.MerciAdi }).Distinct();


protected string GetMerciAdi()
{
try
{
// durum 2
return Eval("MerciAdi").ToString();
}
catch (Exception)
{
// durum 3
return ((Merci)Eval("Merci")).MerciAdi;
}
}

search this blog (most likely not here)