まず、私の英語はあまり上手ではありません。申し訳ありません。:)
タイトルの通り私の質問です。データベースに 2 つのテーブルがあります。
- 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型にクエリを実行すると同じエラーが発生します...