 <p>Use the below query:</p> <pre><code>var query = from e in context.Table orderby SqlFunctions.Rand(1) select e).Take(10); </code></pre> <p>And hope your MySql Data Providor cannot be recognized by VS.</p> <p>I know that Vs doesn't support MySQL to LINQ directly.. So maybe you can use something like.</p> <p>And perhpas you need to download this kind of data providor and have a try </p> <p>download them and have a try:</p> <ol> <li><a href="http://www.alinq.org/download/ALinq_V2.5.8.msi" rel="nofollow">ALinq</a>.</li> <li><a href="http://www.alinq.org/download/ORDesigner_V2.4.1_VS2008.msi" rel="nofollow">ORDesigner_VS2008</a> or <a href="http://www.alinq.org/download/ORDesigner_V2.4.1_VS2010.msi" rel="nofollow">ORDesigner_VS2010</a>.</li> <li><a href="http://www.alinq.org/download/mysql-connector-net-6.3.0.zip" rel="nofollow"> MySQL ADO.NET Data Provider</a> (If installed, no need to reinstall).</li> </ol> <hr> <hr> <p>And If you still fail, this can be right Suppose <strong>Students</strong> is a model from Student table</p> <pre><code>using (ConsoleApplications.DataClasses1DataContext dd = new ConsoleApplications.DataClasses1DataContext()) { var result = (from stu in dd.Students.AsEnumerable() select new { stu.StudentName, RandomId = new Random(DateTime.Now.Millisecond).Next(dd.Students.Count()) }).OrderBy(s =&gt; s.RandomId); foreach (var item in result) { Console.WriteLine(item.StudentName); } } </code></pre>