加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – LINQ – 通过WHERE子句查询大约6000条唯一记录

发布时间:2020-12-16 00:02:14 所属栏目:百科 来源:网络整理
导读:我有一个问题,不知道如何解决它.想象一下,你有一个List int大约6000个唯一的id匹配一个表的id,在sql数据表中有大约一百万条记录.我想从我的c#程序中选择那些通过LINQ匹配那些id的记录.我不想使用Contains()因为它的翻译速度非常慢而且参数列表变得很大. 任何
我有一个问题,不知道如何解决它.想象一下,你有一个List< int>大约6000个唯一的id匹配一个表的id,在sql数据表中有大约一百万条记录.我想从我的c#程序中选择那些通过LINQ匹配那些id的记录.我不想使用Contains()因为它的翻译速度非常慢而且参数列表变得很大.

任何其他想法如何解决这个问题?

关于我的场景的一些事情(这不是真实的,而是类似的场景):

我有一个连接到数据库的服务.例如,客户端请求一批项目,例如Person.服务接受请求,查询数据库并将数据发送回客户端.

Person =(PersonID,Prename,Lastname)

现在客户持有临时人员名单.使用其他方法,我想从服务中检索这些人的地址.所以我将一个PersonID列表添加到服务中,该列表应该返回一个引用这些人的地址列表.

解决方法

如果您使用的是Entity Framework(EF),则可以在数据(数据)和表(Customers)之间使用内部联接

void Main()
{    
    var data = Enumerable.Range(1,6000);

    var result = from x in data
    join y in Customers
    on x equals y.CustomerID
    select x;

    result.Dump();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读