با عرض سلام
دوستان برای مثال فکر کنید که 50 تا رکورد توی بانک داریم اگه بخواهیم هر سری که اطلاعات رو میخونیم 5 تا را به صورت تصادفی انتخاب کنیم و بخونیم باید دستور Select رو چطوری بنویسم؟
اگه راهنمایی کنید ممنون میشم
Random rand = new Random(); int toSkip = rand.Next(0, context.Quotes.Count); context.Quotes.Skip(toSkip).Take(1).First();
سلام مجدد
ممنون آقای باقر زاده از پاسختون اگه امکانش هست لطفا دستور T-Sql رو بزارید چون متاسفانه من توی پروژم از Entity استفاده نکردم
ممنون میشم اگه مجدد کمک کنید
برای بدست آوردن تعداد رکوردهای جدول از کوئری زیر استفاده کنید :
Select count(*) From [TableName]
پس از بدست آوردن تعداد رکورد ها مقدارد آن را در کد Random قرار دهید:
Random rand = new Random(); int toSkip = rand.Next(1, RowCount);
و در نهایت با استفاده از کوئری زیر می توانید یک رکورد اتفاقی از دیتابیس خود دریافت کنید :
WITH [AnyVariable] AS ( select * ,ROW_NUMBER() over(order by [ID]) AS 'RowNum' from [TableName] ) SELECT * FROM [AnyVariable] WHERE RowNum = toSkip Order By [ID]
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)