PDA

View Full Version : انتخاب چند رکور به صورت رندم در entity



f.beigirad
جمعه 18 اسفند 1391, 15:43 عصر
با سلام و درود.

میخوام ۵ تا رکورد روبه صورت رندم از جدولم انتخاب کنم و در لیست بریزم.

توی ado.net از دستور زیر استفاده میکردم.

SELECT column FROM table
ORDER BY RAND()
LIMIT 5

آیا راه دیگه ای به غیر از انتخاب تعدادی عدد رندم و گرفتن رکوردهایی با IDبرابر با اون اعداد وجود داره یا نه ??

با تشکر از همه دوستان

Mahmoud.Afrad
جمعه 18 اسفند 1391, 19:05 عصر
ابتدا کلاس زیر را به پروژه اضافه کنید:

public static class myExtensionMethods
{
static Random rnd = new Random();
public static IEnumerable<T> RandomElements<T>(this IEnumerable<T> source, int number)
{
return source.OrderBy(r => rnd.Next()).Take(number);
}
}

حالا میتونید به تعداد مورد نیاز رکورد رندوم انتخاب کنید:

var randomList = db.tbl.RandomElements(5).ToList();