C# EAV的Linq查询
我在SQL Server上有一个大的(4M记录)表,其中包含以下列:C# EAV的Linq查询,c#,linq-to-sql,C#,Linq To Sql,我在SQL Server上有一个大的(4M记录)表,其中包含以下列: Id(记录标识符) PropertyName(表示属性名称的字符串) PropertyValue(表示属性值的整数) 请记住,此表的Id不是唯一的。基本上,我想编写一个LINQ查询来检索ID及其所有关联的PropertyName/PropertyValue对: 身份证 字典(可能?)PropertyName->PropertyValue 这在某种程度上可行吗 提前感谢您不确定性能,但您可以使用GroupBy按类似ID对
- Id(记录标识符)李>
- PropertyName(表示属性名称的字符串)李>
- PropertyValue(表示属性值的整数)李>
- 身份证
- 字典(可能?)PropertyName->PropertyValue李>
提前感谢您不确定性能,但您可以使用GroupBy按类似ID对数据进行分组 比如:
var result =
from x in whatever
group x by x.Id into g
select new {
Id = g.Key,
Data = g.ToDictionary(i => i.PropertyName, i => i.PropertyValue)
};
请参阅以了解有关Linq的更多信息如果PropertyName不唯一,则不能使用dictionaryPropertyName为每个Id唯一。元组是否比只有一条记录的字典更好?通常一条记录有多个PropertyName/PropertyValue对。