با سلام و خسته نباشید
میتونید راهنمایی کنید این کوئری LINQ را به چه صورت تغییر بدم که رکوردها به صورت تصافی نمایش دهد.
سپاس
list<v_question> lst = (from p in db.v_question
orderby p.typeExamId
where p.azId == azId && p.sId == sId
select p).ToList();
خیلی سادست دوست خوبم. کافیه از این تابع استفاده کنین که رندوم انتخاب میکنه، و take هم که میگه چند تا رندوم برگردونم.
var Result = yourlist.OrderBy(x => Guid.NewGuid()).Take(5);
سلام
لطف می کنید نحوه کارکرد این تابع را توضیح بدین.
Guid.NewGuid()
و چطور میتونم سوالات را براساس نوع آن (تستی، دوگزینه، تشریحی) بصورت تصادفی نمایش داد.
ممنون میشم راهنمایی کنید.
سلام، این تابع به صورت رندوم رکوردهارو قرار میده و وقتی همراه با take بیاد درواقع رندوم از بین رکورد ها چندتارو انتخاب میکنه...
برای اینکه از انواع مختلف سوال یه لیست تهیه کنین راهش اینه که یه لیست خروجی از جنس سوالا بسازین، سپس چند تا لیست رندم با تعداد 5 رکورد مثلا از سوالات تشریحی و تستی و ... بسازین بعد اونارو به هم بچسبونین (concat کنین) و در لیست کلی اولیه قرار بدین... به این شکل :
List<Question> MyRandomList= new List<Question>();
var TempListTashrihi = db.Question.Where(a=>a.Tashrihi==true).OrderBy(p => Guid.NewGuid()).Take(5);
var TempListTesti= db.Question.Where(a=>a.Testi==true).OrderBy(p => Guid.NewGuid()).Take(5);
var TempListDogozine= db.Question.Where(a=>a.Dogozine==true).OrderBy(p => Guid.NewGuid()).Take(5);
MyRandomList = TempListTashrihi.Concat(TempListTesti).Concat(TempListDogozine);
return MyRandomList;
الان 15 تا سوال (5 تا تستی، 5 تا دو گزینه و 5 تا تشریحی) دارین که کاملا رندوم انتخاب شده اند.
سلام، این کد رو تست کردم ولی بصورت تصادفی نمایش نمی دهد.
لطف می کنید اگه راه حل دیگه ای برای نمایش سوالات تصادفی براساس نوع (تستی، تشریحی، دوگزینه ای) دارید راهنمایی کنید.
سپاس
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)