2013-11-26 12 views
1

假設我有如下表 旋轉LINQ

 
    name testID Value 
    John Glu 4.3 
    John Ket 2.1 
    John Cl- 3.2 
    Mary Glu 4.3 
    Mary Na+ 4.2 
    Mary Cl- 6.9 
    Pete Na+ N/A 
    Pete Cl- 3.1
LINQ查詢應轉動如下
 
    Name Glu Ket Na+ Cl- 
    John 4.3 2.1 NUL 3.2 
    Mary 4.3 NUL 4.2 6`.9 
    Pete NUL NUL N/A 3.1 

雖然我理解這種情況與SQL完成,但我不知道如何做到這一點與LINQ(尤其是if字段包含加號,下劃線或減號) 首先,我想知道這是甚至可能做LINQ(帶有加號或減號)與VB.NET如果有的話,是否有人可以指出我們正確的方向?

非常感謝

EDITED

我寫那種半作品,未經Na +或氯離子部分的LINQ:

from f in (from r in results group r by r.name into group) _ 
let a as object = _ 
(From e in f.Group where e.testID= "Glu" select e.Value).max _ 
let b as object = _ 
(From e in f.Group where e.testID= "Ket" select e.Value).max _ 
let c as object = _ 
(From e in f.Group where e.testID= "Na+" select e.Value).max _ 
let d as object = _ 
(From e in f.Group where e.testID= "Cl-" select e.Value).max _ 
select f.name, Glu = a, Ket = b, [Na+] = c, [Cl-] = d 

 
     [Na+] = c , [Cl-] = d
 
    Na = c , Cl = d 
它會按預期工作,但有沒有方法有加號或減號表示播放列標題?

回答

2

我認爲這個鏈接可以幫助你解決你的問題。

Is it possible to Pivot data using LINQ?

+1

謝謝,我覺得這解決了問題的一半,但我仍然不知道如何將它包含的加號或減號顯示器領域。 – user3034931

+0

如果你描述你的業務邏輯以顯示加號或減號,它會更好。我認爲Na + Cl-只是帶有加號或減號的字符串。所以你爲什麼需要考慮任何標誌。 –

+0

是的,這只是一個條件的字符串,但我不認爲它會允許使用選擇部分的加號或減號 – user3034931