我有一個SQL表,我希望每個記錄是一個數據網格列 另一個SQL表與多個記錄相關的每個fieldID。我想顯示每個值在數據網格的適當的列使用LINQ如何使用LinqtoSql從多個記錄創建datagrid列?
Example data:
tbl_fields:
FieldID | FieldName
1 | First Name
2 | Last Name
3 | State
tbl_records
RecID | FieldID | Value
1 1 John
1 2 Doe
1 3 NY
2 1 Melissa
2 2 Rose
3 1 Charlie
3 2 Brown
3 3 CA
Display like this
RecID | First Name | Last Name | State
1 John Doe NY
2 Melissa Rose null
3 Charlie Brown CA
有什麼建議嗎? 謝謝!
編輯: 這工作正常,但如果我不知道FieldNames之前手或更多的FieldNames區域添加?
var data = (from d in db. tbl_records
group d by d.RecID into g
select new
{
Id = g.Key,
FirstName = g.Where(d => d.FieldName == "First Name").FirstOrDefault().Value,
LastName = g.Where(d => d.FieldName == " Last Name").FirstOrDefault().Value,
State= g.Where(d => d. State == "State").FirstOrDefault().Value,
});
你對Linq很熟悉,我會使用數據庫設計器讓它爲你生成SQL Joins ..然後如果你有Linq工具可以爲你生成Linq語句傳遞/讓它爲你轉換SQL到一個有效的linq聲明..這將幫助你學習/理解Linq ..這個工具被稱爲LinqPad這裏是一個鏈接到其他幾個很酷的Linq工具http://www.thinqlinq.com/default/LINQ-Tools.aspx – MethodMan
+1,至少需要時間爲我們其他人格式化數據。 – jwiscarson
謝謝你的評論。我對linq非常熟悉,但我不熟悉linq的顯示數據透視數據 – vts