c# - 将 SQL 转换为 LINQ

标签 c# sql linq

我有一个特定的 SQL 查询:

SELECT TOP 20 * FROM tblIm WHERE Id NOT IN (SELECT TOP  20  Id FROM tblIm)

我刚试过这个:

var results = from myRow in Ds.AsEnumerable().Take(minRecords)
              where myRow.Field<int>("Trail_Id") > 1 
              && myRow.Field<int>("Id") <= 20
select myRow;

但它并没有像我想要的那样工作。那么如何将其转换为像 SQL 语句一样工作的 LINQ 语句呢?

有什么建议吗?

谢谢大家但我得到了解决方案 最后:

var testresult = from c in  Ds.AsEnumerable().Take(20) 
                         where !(from o in Ds.AsEnumerable().Take(intSkip)    
                         select o)    
                        .Contains(c)    
                        select c;

最佳答案

我觉得应该是这样的

tblIm.Skip(20).Take(20)

关于c# - 将 SQL 转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272397/

相关文章:

c# - IEnumerable 中每个项目的自定义 json 序列化

c# - 系统线程: Cross-thread operation not valid

c# - HttpClient - 不接受 DNS 更改

MySQL:从带标志的表迁移到映射表

mysql - 字段值不包含空格的 SQL 查询

sql - Azure SQL 的 Webhook

c# - 更改 MaskedTextbox 上的时间

vb.net - vb.net 无法识别 LINQ 查询中的 where 子句?

c# - 在数据表上使用 LINQ 进行内部联接

c# - 带总和的 LINQ GroupBy