首先,我的英语不是很好。所以我很抱歉。:)
我的问题作为标题。我的数据库上有两个表:
- Siniflar (SinifId, SinifAdi, Kapasite, OgretmenId)
- Ogretmenler (OgretmenId, Ad, Soyad, Brans)
询问:
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”类型的常量值。此上下文仅支持原始类型或枚举类型。
我认为,我的查询有问题......当查询 var 类型时,我得到一个相同的错误......