首先,我的英語不是很好。所以我很抱歉。 :)如何使用通用的linq查詢結果?
我作爲標題的問題。我有我的數據庫中的兩個表:
- Siniflar(SinifId,SinifAdi,Kapasite,OgretmenId)
- Ogretmenler(OgretmenId,廣告,Soyad,布蘭斯)
查詢:
var siniflar = (from s in db.Siniflar
join o in db.Ogretmenler
on s.OgretmenId equals o.OgretmenId
select new { s.SinifId, s.SinifAdi, s.Kapasite, o.Ad }).ToList();
我想使用查詢的結果作爲通用,如下所示:
public List<Siniflar> SiniflariListele()
{
var siniflar = (from s in db.Siniflar
join o in db.Ogretmenler
on s.OgretmenId equals o.OgretmenId
select new { s.SinifId, s.SinifAdi, s.Kapasite, o.Ad }).ToList();
return siniflar;
}
但我得到一個錯誤。因爲結果是匿名類型。
錯誤:無法隱式轉換類型System.Collections.Generic.List<AnonymousType#1>
到System.Collections.Generic.List<Entity.Siniflar>
如何使用是通用的結果。我能做些什麼?
我改變了一個問題:
類:
public class RSiniflar
{
public int SinifId { get; set; }
public string SinifAdi { get; set; }
public int Kapasite { get; set; }
public string OgretmenAdiSoyadi { get; set; }
}
梅託德:
public List<RSiniflar> SiniflariListele()
{
List<RSiniflar> siniflar = (from s in db.Siniflar
join o in db.Ogretmenler
on s.OgretmenId equals o.OgretmenId
select new RSiniflar
{
SinifId = s.SinifId,
SinifAdi = s.SinifAdi,
Kapasite = s.Kapasite,
OgretmenAdiSoyadi = o.Ad + ' ' + o.Soyad
}).ToList();
return siniflar;
}
但現在的錯誤查詢:無法創建類型的恆定值「 System.Object的」。只有原始類型或枚舉類型在此上下文中受支持。
我想,有我的查詢問題...我得到一個錯誤,當相同的查詢變種型...
我相信'Siniflar'實體沒有'Ad'屬性。你將如何返回它? –
你需要RSiniflar的默認構造函數 –