选择记录我有一个表,如下所示:,最大版本
ConfigID | VersionNo | ObjectType
和ConfigID来构成VersionNo进行的唯一关键。 我希望能够根据对象类型为每个configID选择最高版本号的记录。
我已经试过
configs = (from config in configRepository.FindBy(x => x.ObjectType.Equals(typeof(Node).ToString(), StringComparison.InvariantCultureIgnoreCase))
group config by config.ConfigID into orderedConfigs
select orderedConfigs.OrderBy(x => x.ConfigID).ThenByDescending(x => x.VersionNo).First());
编辑:我要补充的是,FindBy基本上是一个where子句。 但我没有得到任何结果。请帮我解决一下这个。
编辑:
在表中的数据可能看起来像:
3fa1e32a-e341-46fd-885d-8f06ad0caf2e | 1 | Sybrin10.Common.DTO.Node
3fa1e32a-e341-46fd-885d-8f06ad0caf2e | 2 | Sybrin10.Common.DTO.Node
51d2a6c7-292d-42fc-ae64-acd238d26ccf | 3 | Sybrin10.Common.DTO.Node
51d2a6c7-292d-42fc-ae64-acd238d26ccf | 4 | Sybrin10.Common.DTO.Node
8dbf7a33-441f-40bc-b594-e34c5a2c3f51 | 1 | Some Other Type
91413e73-4997-4643-b7d2-e4c208163c0d | 1 | Some Other Type
从此我只想要检索的第二和第四的记录,因为他们有对的configId最高版本号和是必需的类型。
你能告诉我一些有关数据的例子吗? – zey
你通过ConfigID分组两次,看我的答案:) – wudzik