8,497
社区成员
发帖
与我相关
我的任务
分享
class Program
{
static void Main(string[] args)
{
List<ModelA> tableA = new List<ModelA> {
new ModelA{ID_A=1},
new ModelA{ID_A=2},
new ModelA{ID_A=3},
};
List<ModelB> tableB = new List<ModelB>{
new ModelB{ID_B="a",ID_A=1,ID_C="A"},
new ModelB{ID_B="b",ID_A=1,ID_C="B"},
new ModelB{ID_B="c",ID_A=2,ID_C="C"},
new ModelB{ID_B="d",ID_A=2,ID_C="D"},
new ModelB{ID_B="e",ID_A=3,ID_C="E"},
};
List<ModelC> tableC = new List<ModelC>{
new ModelC{ID_C="A",text="hello"},
new ModelC{ID_C="B",text="boy"},
new ModelC{ID_C="C",text="good"},
new ModelC{ID_C="D",text="job"},
new ModelC{ID_C="E",text="see"},
};
var result = tableC.Join(tableB, c => c.ID_C, b => b.ID_C, (tA, tB) =>
new
{
ID_C = tA.ID_C,
text = tA.text,
ID_A = tB.ID_A,
}).GroupBy(g => g.ID_A).Select(s=>new {
ID_A=s.Key,
texts=string.Join(",",s.Select(se=>se.text)),
});
//最后与表一jion。事实。我感觉有点多余
}
class ModelA
{
public int ID_A { get; set; }
}
class ModelB
{
public string ID_B { get; set; }
public int ID_A { get; set; }
public string ID_C { get; set; }
}
class ModelC
{
public string ID_C { get; set; }
public string text { get; set; }
}
}
static void Main(string[] args)
{
List<int> lstA = new List<int>() { 1, 2, 3, 4 };
List<CB> lstB = new List<CB>() {
new CB(){ ID_B = "a", ID_A = "1", ID_C="A" },
new CB(){ ID_B = "b", ID_A = "1", ID_C="B" },
new CB(){ ID_B = "c", ID_A = "2", ID_C="C" },
new CB(){ ID_B = "d", ID_A = "2", ID_C="D" },
new CB(){ ID_B = "e", ID_A = "3", ID_C="E" }
};
List<CC> lstC = new List<CC>() {
new CC(){ ID_C = "A", Text = "hello"},
new CC(){ ID_C = "B", Text = "boy"},
new CC(){ ID_C = "C", Text = "good"},
new CC(){ ID_C = "D", Text = "job"},
new CC(){ ID_C = "E", Text = "see"}
};
lstB.Join(lstC, x => x.ID_C, x => x.ID_C, (x, y) => new { ID_A = x.ID_A, Texts = y.Text }).GroupBy(x => x.ID_A).Select(x => new { ID_A = x.First().ID_A, texts = string.Join(",", x.Select(y => y.Texts)) }).ToList().ForEach(x => Console.WriteLine(x));
Console.ReadLine();
}
class CB
{
public string ID_B;
public string ID_A;
public string ID_C;
}
class CC
{
public string ID_C;
public string Text;
}