這就是我想要達到的目標:實體框架,隨機查詢分頁
- 我要查詢我的數據庫返回的實體列表
- 隨機化列表
- 商店物品的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