linq实现随机查询

本文介绍了如何在Entity Framework(EF)中利用LINQ查询实现数据的随机获取。通过结合LINQ表达式与数学随机函数,可以在不改变数据库结构的情况下,高效地从大量数据中随机抽取记录。


<span style="font-size:24px;"> 实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace suichaxun
{
    class Program
    {
        
        static void Main(string[] args)
        {
            BidSystemEntities dbContext = new BidSystemEntities();
       var result = (from c in dbContext.T_SpecialistInfo where c.SpecialistType=="电子类" orderby(Guid.NewGuid())select c).Take(2).ToList();

       foreach (var item in result)
       {
           Console.WriteLine(item.SpecialistName);
       }

        }
    }
}</span>


SQL(通用于 SQL Server
SELECT FROM Table ORDER BY NewID()

LINQ
 t in Table orderby Guid.NewGuid()t

Lambda
Table.OrderBy(x=>Guid.NewGuid())


下面是随机取去前n条数据

SQL(通用于 SQL Server) 

SELECT TOP n FROM Table ORDER BY NewID()

LINQ 
(fom t in Table orderby Guid.NewGuid()t).Take(n)

Lambda 
Table.OrderBy(x=>Guid.NewGuid()).Take(n)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值