【发布时间】:2016-01-27 22:50:18
【问题描述】:
假设我有一张这样的桌子:
Id Name Category CreatedDate
1 test test 10-10-2015
2 test1 test1 10-10-2015
...
现在,我想删除所有行,只保留所有类别中的前 10 名(前 10 名是指根据createdDate 最新的 10 名)。
使用原始 SQL,会是这样的:
DELETE FROM [Product]
WHERE id NOT IN
(
SELECT id FROM
(
SELECT id, RANK() OVER(PARTITION BY Category ORDER BY createdDate DESC) num
FROM [Product]
) X
WHERE num <= 10
在 Entity Framework 中使用 DbContext 时如何做到这一点?
【问题讨论】:
标签: c# sql .net entity-framework