我有一個LINQ從SQL查詢返回排序的行。 例如,它會返回:1 1 1 1 1 1 1 1 2 2 2 3 3 3 3 3 4 4 4 4 我正在尋找一種方法告訴LINQ切割&粘貼所有的1,並將其放置在3的,所以它會看起來2 2 2 3 3 3 3 3 1 1 1 1 1 1 1 4 4 4 4。如何重定位Linq行與邏輯
什麼是最有效的方法來重新定位它的指針? (不選擇&刪除&複製)
感謝
我有一個LINQ從SQL查詢返回排序的行。 例如,它會返回:1 1 1 1 1 1 1 1 2 2 2 3 3 3 3 3 4 4 4 4 我正在尋找一種方法告訴LINQ切割&粘貼所有的1,並將其放置在3的,所以它會看起來2 2 2 3 3 3 3 3 1 1 1 1 1 1 1 4 4 4 4。如何重定位Linq行與邏輯
什麼是最有效的方法來重新定位它的指針? (不選擇&刪除&複製)
感謝
嘗試
query.OrderBy(x => x == 1 : 3.5 ? (float)x);
什麼是3.5 for? – Himberjack
的值介於3和4之間,因此,1會陷入3和4之間 – Jimmy
@Himberjack只是爲了調整值「1」的訂單權重;您可以選擇大於3但小於4的任何值,否則不會影響整體訂單。 –
我會做的LINQ到SQL查詢,像這樣:
var query = from x in context.Table
let Order = x.RowNum == 1 ? 3.5 : x.RowNum
orderby Order
select x;
什麼是3.5 for? – Himberjack
@Himberjack - 3.5用於排序,你希望1記錄出現在3之後,但在4之前。你可以使用3-4之間的任何數字,我選擇3.5 – Aducci
你必須不那麼具體地說你的問題(即,一般說明你想要達到的目標)。 – jason
我想採取某些行(回答特定查詢)並將它們重新放置在數據集中 – Himberjack
什麼標識要移動的行?你如何指定你想要搬遷的地方? – jason