2010-06-09 34 views
0

我正在使用ChartFX的ASP.net頁面。我需要從數據庫表中拉出一行,然後將其翻轉,以便該行的所有標籤位於列中,並且該行中的所有數據都位於標籤的並列中。LINQ重新格式化爲內存中的表

我真的很想用LINQ來做這件事,然後在內存中創建一個表來存儲這些值,直到我需要使用它們。你們都建議什麼?

+0

我認爲這在很大程度上取決於你用什麼數據庫,你如何訪問它,即如何行的樣子。你能指定這個信息嗎? – svick 2010-06-09 18:43:09

+0

另外,你爲什麼要將它存儲在內存表中,是不是'Dictionary <>'就足夠了? – svick 2010-06-09 18:43:33

+0

這是一個在VS2008中通過LINQ to SQL模型加以驗證的SQL數據庫。詞典<>可能會訣竅,我只是沒有想到這一點呢。 – 2010-06-09 18:57:54

回答

0

使用方法,我發現在How would I get the column names from a Model LINQ?

var db = new DataContextType(); 
var members = db.Mapping.MappingSource 
         .GetModel(typeof(DataContextType)) 
         .GetMetaType(typeof(TableType)) 
         .DataMembers; 

var row = …; // select the desired row 

var namesAndValues = from member in members 
        select new 
        { 
         Name = member.Name, 
         Value = member.MemberAccessor.GetBoxedValue(row) 
        }; 
+0

我找到了獲取列名的方法。一旦我有列名稱,我只是將所有內容存儲在數據表中,然後使用數據透視表將列移動到行中。謝謝回覆。 – 2010-06-09 20:28:30