110,499
社区成员
发帖
与我相关
我的任务
分享
private void button1_Click(object sender, EventArgs e)
{
A a1 = new A();
A a2 = new A();
B b1 = new B();
B b2 = new B();
B b3 = new B();
B b4 = new B();
C c1 = new C();
C c2 = new C();
C c3 = new C();
C c4 = new C();
a1.AID = 1;
a1.ANAME = 1;
a2.AID = 2;
a2.AID = 2;
b1.AID = 1;
b1.BID = 1;
b1.BNAME = 1;
b2.AID = 1;
b2.BID = 2;
b2.BNAME = 2;
b3.AID = 2;
b3.BID = 3;
b3.BNAME = 3;
b4.AID = 2;
b4.BID = 4;
b4.BNAME = 4;
c1.AID = 1;
c1.CID = 1;
c1.CNAME = 1;
c2.AID = 1;
c2.CID = 2;
c2.CNAME = 2;
c3.AID = 2;
c3.CID = 3;
c3.CNAME = 3;
c4.AID = 2;
c4.CID = 4;
c4.CNAME = 4;
Manager manager = new Manager();
manager.InsertA(ref a1);
manager.InsertA(ref a2);
manager.InsertB(ref b1);
manager.InsertB(ref b2);
manager.InsertB(ref b3);
manager.InsertB(ref b4);
manager.InsertC(ref c1);
manager.InsertC(ref c2);
manager.InsertC(ref c3);
manager.InsertC(ref c4);
List<A> listA = manager.GetByBID(1);
foreach(A a in listA)
{
MessageBox.Show(a.AID.ToString());
}
}
}
}
class ActiveRecordBase
{
}
class A : ActiveRecordBase
{
public int AID { get; set; }
public int ANAME { get; set; }
}
class B : ActiveRecordBase
{
public int AID { get; set; }
public int BID { get; set; }
public int BNAME { get; set; }
}
class C : ActiveRecordBase
{
public int AID { get; set; }
public int CID { get; set; }
public int CNAME { get; set; }
}
class Manager
{
private List<A> listA = null;
private List<B> listB = null;
private List<C> listC = null;
public Manager()
{
listA = new List<A>();
listB = new List<B>();
listC = new List<C>();
}
~Manager()
{
listA.Clear();
listB.Clear();
listC.Clear();
}
public void InsertA(ref A a)
{
listA.Add(a);
}
public void InsertB(ref B b)
{
listB.Add(b);
}
public void InsertC(ref C c)
{
listC.Add(c);
}
public List<A> GetByBID(int ID)
{
var listAnonymousTypes = (from ba in
(from b in listB
where b.BID == ID
select b.AID).ToList()
from a in listA
where a.AID == ba
select a).ToList();
return listAnonymousTypes;
}
}