我想写一个LINQ查询,检查InfoObject
对象中是否有User
数据的重复。
在下图中,我想按Code
(即XYZ
)分组,并检查该组中是否有一个User
包含多个Type
。User模型包含Name
(例如John)和Value
(1表示选中)。
我的模型类如下:
public class InfoObject
{
public string Code { get; set; }
public string Type { get; set; }
public List<User> Users { get; set; }
}
public class User
{
public string Name { get; set; }
public string Value { get; set; }
}
字符串
**Invalid Case:**John不能同时拥有A和B两种类型
Code Type John Luke Tim
XYZ A 1 1 -
XYZ B 1 - 1
型
**Valid Case:**每个用户只能有一种类型
Code Type John Luke Tim
XYZ A - 1 -
XYZ B 1 - 1
型
什么是正确的LINQ查询来实现这一点?谢谢!
1条答案
按热度按时间ut6juiuv1#
您可以扁平化
InfoObject
层次结构,然后按用户名分组,并保留具有多个唯一代码的项目:字符串
您可以操作
Select
,以便只公开最终结果所需的数据。