Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EAV的Linq查询_C#_Linq To Sql - Fatal编程技术网

C# EAV的Linq查询

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对

我在SQL Server上有一个大的(4M记录)表,其中包含以下列:

  • Id(记录标识符)
  • PropertyName(表示属性名称的字符串)
  • PropertyValue(表示属性值的整数)
请记住,此表的Id不是唯一的。基本上,我想编写一个LINQ查询来检索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对。