如何使用Entity Framework基于最大版本选择多个记录

时间:2017-04-25 19:27:36

标签: c# sql entity-framework linq

我有像这样的记录

id  name     number version
---------------------------
1   NewYork     1     1 
2   LosAngeles  1     2 
3   Seatle      1     3
4   Toronto     2     1
5   Ottawa      2     2

我想只选择具有相同数字的最高版本的记录

所以我写了这样的查询

SELECT * 
FROM city c 
WHERE c.[version] = (SELECT Max([version])
                     FROM [city] c2 
                     WHERE c2.number = c.number)

它会返回

id  name     number version      
---------------------------
3   Seatle      1     3
5   Ottawa      2     2

如何在linq中使用Entity Framework编写它?

db.cities.where(c => c.version == (????))

我不知道实体框架将如何为此工作。

2 个答案:

答案 0 :(得分:2)

<DVC:Chart.Axes>
            <DVC:LinearAxis Interval="10" Orientation="X" ShowGridLines="True" Title="Pressure (Torr)"/>
            <DVC:LinearAxis Interval="100" Orientation="Y" Location="Top" ShowGridLines="True" Title="Pumping Speed"/>
</DVC:Chart.Axes>

答案 1 :(得分:2)

使用Exec [dbo].[GetSales_Person_Data] @Sales_person = ? GroupBy分组,然后number分组OrderBy最高分:

version