这就是我想要达到的目标:实体框架,随机查询分页
- 我要查询我的数据库返回的实体列表
- 随机化列表
- 商店物品的IDS收到以供将来查询
- 在ID已存储在列表中的同一张表上运行一个新查询
- 按我已存储的列表排序。
我已经设法实现了第1,2,3,4步,但第5步很困难。谁能帮我用像这样的查询:提前
SELECT *
FROM table_name
WHERE id IN (1,2,3,4....)
ORDER BY (1,2,3,4....)
感谢
这就是我想要达到的目标:实体框架,随机查询分页
我已经设法实现了第1,2,3,4步,但第5步很困难。谁能帮我用像这样的查询:提前
SELECT *
FROM table_name
WHERE id IN (1,2,3,4....)
ORDER BY (1,2,3,4....)
感谢
尝试
SELECT table_name.*
FROM crazy_sorted_table
LEFT JOIN
table_name ON crazy_sorted_table.ID=table_name.ID
我测试了正常的连接(相等加盟)应该做的伎俩,这里是样本方法:
/**crazyOrder filled 100 rows with random value from 1-250 in Id**/
CREATE TABLE [dbo].[crazyOrder] (
[Id] INT NOT NULL,
[Area] VARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
/**Normal order is filled with value from 1-100 sequentially in id**/
CREATE TABLE [dbo].[normalOrder] (
[Id] INT NOT NULL,
[Name] VARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
create table #tempOrder
(id int)
insert into #tempOrder
Select top 10 Id
from crazyOrder
order by NewID()
go
Select n.*
from normalOrder n
join #tempOrder t
on t.id = n.id
我能够以临时表中相同的顺序检索行(我用一个数据生成器的值es)
谢谢你,我发现了一个更简单的方法来做到这一点。但我很欣赏这一点 – maaizle
非常感谢您对此的意见,我现在必须将此翻译成linq以实现或lambda,但无论如何感谢。 – maaizle