LINQ sorgulamalarımızda select işlemleri yaptıktan sonra listeleme işlemlerini DataList, Gridview gibi veri listeleme araçlarını kullanmak isteriz.
Örnekte Linq kullanarak tbl_Student tablosundaki bütün öğrencileri listeleyen sorgumuzu yazdık.
Sorgu sonucunda student isimli veri kaynağı oluştu ve Gridview'e bağladık.
Fakat form yüklenirken aşağıdaki hatayı aldık.
"Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery, DbRawSqlQuery) is not supported."
Çözüm: student isimli veri kaynağımızın sonuna Listeye dönüştürmek için ToList() metodunu ekliyoruz ve veri kaynağı olarak kullanıyoruz. Form yüklendikten sonra listeleme işlemi tamamlanmış olacaktır.
Örnekte Linq kullanarak tbl_Student tablosundaki bütün öğrencileri listeleyen sorgumuzu yazdık.
protected void Page_Load(object sender, EventArgs e) { StudentsEntities se = new StudentsEntities(); //Entity modelimizi çağırdık. var student = from s in se.tbl_Student //LINQ Select Sorgumuz, öğrencileri listelediğimiz select new { s.StudentName, s.StudentSurname, s.StudentClass }; }
Sorgu sonucunda student isimli veri kaynağı oluştu ve Gridview'e bağladık.
GridView1.DataSource = student; //Üstteki sorgumuz sonucu oluşan veri kaynağı GridView1.DataBind();//Veri kaynağını gridview'e bağladık
Fakat form yüklenirken aşağıdaki hatayı aldık.
"Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery, DbRawSqlQuery) is not supported."
Çözüm: student isimli veri kaynağımızın sonuna Listeye dönüştürmek için ToList() metodunu ekliyoruz ve veri kaynağı olarak kullanıyoruz. Form yüklendikten sonra listeleme işlemi tamamlanmış olacaktır.
GridView1.DataSource = student.ToList(); GridView1.DataBind();
Yorumlar
Yorum Gönder