نقل قول نوشته شده توسط barnamenevisjavan مشاهده تاپیک
سلام من قبلا از طریق کد زیر کوئری مورد نظرم رو داخل تابع async Task اجرا میکردم و بدون مشکل هستش:
        public async static Task<List<DataClass.Tables.Student>> GetAllStudentsAsync()
{
using (var db = new DataClass.myDbContext())
{
var query = from item in db.Students
select item;
return await query.ToListAsync();
}
}

الان نیاز دارم تا اطلاعات رو با جدول دیگه ای ترکیب کنم و بعدش سلکت کنم کدهام رو به این صورت نوشتم:
        public async static Task<List<DataClass.Tables.Student>> GetAllStudentsAsync()
{
using (var db = new DataClass.myDbContext())
{
var query = from c in db.Schools
join v in db.Students on c.Id equals v.BaseId
select new { v.Name, v.LName, v.FName, v.Gender, v.BaseId, v.Image, c.Base };


return await query.ToListAsync();
}
}


اما در خط
return await query.ToListAsync();
برنامه دچار خطا میشه و اجازه کامپایل نمیده چطور این مشکل رو باید حل کنم؟
سلام.
اگر از C#‎‎ 7 استفاده می کنید نیاز به ساخت کلاس جدید ندارید و میتونید از Tuple استفاده کنید.
نوع و نام فیلد ها رو داخل پرانتز تعریف کنید.



public async static Task<List<(string Name , string LName,string FName, string Gender,string BaseId,object Image, object Base)>> GetAllStudentsAsync()
{
using (var db = new DataClass.myDbContext())
{
var query = from c in db.Schools
join v in db.Students on c.Id equals v.BaseId
select (v.Name, v.LName, v.FName, v.Gender, v.BaseId, v.Image, c.Base );


return await query.ToListAsync();
}


البته ناگفته نمونه که این روش برای متودهای public الگوی جالبی نیست و بیشتر برای متودهای private و internal مناسبه