我有一个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