PDA

View Full Version : سوال: خطا Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Col



download69
دوشنبه 06 شهریور 1396, 13:38 عصر
سلام دوستان
برای خروجی گرفتن از بانک از کد زیر استفاده می کنم

public List<tbl_1> SelectSearch(){var f = (from u in db.tbl.SqlQuery("SELECT id,name,family FROM tbl WHERE statuse=1 order by username desc") select new {u.id,u.name,u.family}).ToList();


return f;
}


کلاس جدول tbl دارای فیلدهای متعددی است که من فقط id و name , family رو میخوام که همین جهت یک کلاس با پروپرتی های این سه نوع ساختم و خروجی تابع را از نوع این کلاس جدید قرار دادم.

public class tbl_1 {
public int id { get; set; }
public string name { get; set; }
public string family { get; set; }
}

هر کاری میکنم هر تغییری میدم آخر خطای زیر روی میده

Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Collections.Generic.List<MVC.Models.tbl_1>'

_Memol_
دوشنبه 06 شهریور 1396, 15:20 عصر
سلام خب معلومه اررور میده
شما خب کلاس جدید ساختی باید لیستی از همون بهش بدی
اینو تست کن

var f = (from u in db.tbl.SqlQuery("SELECT id,name,family FROM tbl WHERE statuse=1 order by username desc")).ToList(); if(f!=null && f.Count>0)
{
List<tbl_1> listtt =new List<tbl_1>();
listtt=(from p in f
new tbl_1(){
id =p.id,
name =prop.name,
family=prop.family
}).ToList();

}

_Memol_
دوشنبه 06 شهریور 1396, 15:28 عصر
اینو ببین ایرادتو ببین

select new tbl_1 {id=u.id,name=u.name,family=u.family}).ToList();

download69
چهارشنبه 08 شهریور 1396, 00:41 صبح
ممنون مشکل رو فهمیدم

به روش زیر مشکل حل شد.



public List<tbl> SelectSearch()
{
var f = (from u in db.tbl.SqlQuery("SELECT * FROM tbl WHERE statuse=1 order by username desc") select new tbl() {id = u.id,name = u.name,family = u.family}).ToList();


return f;
}