【发布时间】:2010-05-19 16:41:09
【问题描述】:
var setsA = new List<SetA> {
new SetA { SsnA = "3450734507", name = "setA"},
new SetA { SsnA = "6833467788", name = "setA"},
new SetA { SsnA = "5452347787", name = "setA"},
new SetA { SsnA = "9345345345", name = "setA"},
};
var setsB = new List<SetB> {
new SetB { SsnB = "5452347787" ,name = "setB"},
new SetB { SsnB = "9345345345", name = "setB"},
};
当我使用这个 linq 时:
var Set =
from seta in setsA
join setb in setsB
on seta.SsnA
equals setb.SsnB
select new {
SSN = seta.SsnA,
NAME = setb.name
};
我得到这个值:
{ SSN = "5452347787", NAME = "setB" }
{ SSN = "9345345345", NAME = "setB" }
但我希望拥有结合这两者的 SET,结果将是:
{ SSN = "3450734507", NAME = "setA" }
{ SSN = "6833467788", NAME = "setA" }
{ SSN = "5452347787", NAME = "setB" }
{ SSN = "9345345345", NAME = "setB" }
这将是一个结果集,它会用名称 NAME 属性告诉我它来自哪个集,如果在 SetA 和 SetB 中找到 SSN,它将具有属性 NAME = "setB"
有人可以帮我解决这个问题吗?
【问题讨论】:
-
顺便说一句 - 我希望这些不是真正的 SSN 号码...
-
@Sunny 这些是未来需要 10 位数字的 SSN。