相关疑难解决方法(0)

将包含top,count,group和order的SQL转换为LINQ(2个实体)

一些LINQ查询仍然困扰着我.

对于包含两列,'Page'和'Date'的表'Hits',我想找到在定义的时间片段中具有最多行的页面.

在SQL中我会使用这个:

SELECT TOP 10
      [Page]
      ,COUNT([Page]) as Number
FROM dbo.[Hits]
WHERE [Date] >= CONVERT(datetime,'14 Jan 2009')
AND [Date] < CONVERT(datetime,'15 Jan 2009')
Group BY [Page]
Order by Number DESC
Run Code Online (Sandbox Code Playgroud)

在LINQ我不知道如何处理这个问题,任何人都可以帮助我吗?我尝试使用linqer转换它,但它只显示此表达式的错误.

sql linq

5
推荐指数
2
解决办法
2686
查看次数

C#Linq问题GROUP BY?

我有一个集合List<CustomClass>,我试图找到一种方法来返回一个字段,该字段对应于发生次数最多的另一个字段.我过去曾问过类似的问题,但我不确定如何将逻辑扩展到自定义类.例如.

CustomClass有三个公共财产:

Title
Mid
Eid
Run Code Online (Sandbox Code Playgroud)

并且List<CustomClass> MatchedFeatures = List<CustomClass>();a循环填充.

我需要执行一个Linq操作来返回Mid具有最多相同数量的类的类Eid.所以我们正在计算相同的Eid列.

我试过用

var TopResult = MatchedFeatures.GroupBy(MatchedFeature => MatchedFeature).OrderByDescending(group => group.Count()).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但它不会返回我想要的东西.

任何人都可以看到我错在哪里?我正在使用C#

这是上一个问题,似乎工作正常.现在如何在这种情况下扩展它......? C#中简单的LINQ问题

非常感谢,布雷特

.net c# linq

3
推荐指数
1
解决办法
318
查看次数

如何在vb.net中使用Linq选择单个对象

我已经做了很多搜索似乎是一个简单的LINQ问题,但我无法弄清楚如何从具有指定最小值(或最大值)的集合中抓取一个对象而不采用这样的排序:

dim customers= GetCustomers()

dim youngest = (From c in customers
                 Order By c.age Ascending).ToList.First
Run Code Online (Sandbox Code Playgroud)

此(未经测试的代码)结构可正常工作,但必须对整个客户数组进行排序并将其放入列表中,以便仅提取第一个值.这不是获得最低限度的最佳方式!

请注意,在这种情况下我想要整个c记录,而不是像这样可以完成的客户的最小年龄(典型示例):

dim customers= GetCustomers()

dim youngest = (From c in customers
                 Select c.age).Min
Run Code Online (Sandbox Code Playgroud)

甚至

dim customers= GetCustomers()

dim youngest = (From c in customers
                 Select c).Min(Function(x) x.age)
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活弄清楚如何获得整个对象(甚至索引)而不诉诸于排序......

linq vb.net lambda minimum

2
推荐指数
1
解决办法
2万
查看次数

使用LINQ从string []进行多数投票?

有没有办法在C#中使用Linq来查找数组中的大多数元素?为了使它更复杂,如果没有多数,它应该采取第一个元素.

因此,例如对于数组["A", "B", "B"],语句应该评估为"B".并且,对于数组["A", "B", "C"],语句应该评估为"A".

我确信还有其他100种方法可以做到这一点,但好奇是否有Linq解决方案.

c# linq

1
推荐指数
2
解决办法
347
查看次数

Linq选择最接近日期的记录

如何使用Linq选择最接近指定日期的记录?这适用于具有日期,产品ID,位置ID和余额的交易表.

鉴于这些要求:

  • 如果在指定日期有多个交易,请选择当天的最后一笔交易
  • 如果指定日期没有,则选择最接近的先前交易
  • 在多个位置(例如仓库)显示余额 - 每个仓库将具有单独的交易
  • 显示多个产品的余额 - 每个产品都有单独的交易

表数据:

// code
Id, TransDateTime,    ProductId, WarehouseId, Balance
1,  1-Jan-2011 00:00, 1,         1,           100
2,  1-Jan-2011 00:00, 1,         2,           10
3,  2-Jan-2011 00:00, 1,         1,           150
4,  3-Jan-2011 00:00, 1,         2,           25
5,  3-Jan-2011 00:00, 2,         1,           333
6,  7-Jan-2011 00:00, 1,         1,           149
7,  7-Jan-2011 01:00, 1,         2,           30
8,  7-Jan-2011 02:00, 1,         2,           35
Run Code Online (Sandbox Code Playgroud)

测试日期和输出

Date: 1-Jan would output:
1,  1-Jan-2011 00:00, 1,         1,           100
2,  1-Jan-2011 00:00, …
Run Code Online (Sandbox Code Playgroud)

c# linq

0
推荐指数
1
解决办法
4899
查看次数

标签 统计

linq ×5

c# ×3

.net ×1

lambda ×1

minimum ×1

sql ×1

vb.net ×1