Изучаю немного c #, и моя проблема в том, что у меня есть класс, который создает объекты Person и добавляет их в список (myPersonList).У меня также есть класс PartyGroup, который принимает PersonList в качестве одного из своих свойств.Моя проблема в том, что myPersonList содержит весь набор результатов, поэтому в данный момент каждый раз, когда он создает новую группу PartyGroup, он добавляет все значения в myPersonList.Есть ли способ сказать ему, чтобы добавить только те значения в myPersonList, где Person.PartyGroupId соответствует текущему идентификатору группы PartyGroup, с которым мы имеем дело.Надеюсь, что это имеет смысл.Спасибо.
// Персона
using (AseDataReader reader = commandPerson.ExecuteReader())
{
while (reader.Read())
{
Person person = new Person();
person.PersonID = Convert.ToInt32(reader["person_id"]);
person.PartyGroupID = Convert.ToInt32(reader["party_group_id"]);
person.FullName = reader["full_name"].ToString();
myPersonList.Add(person);
}
}
// PartyGroup
using (AseDataReader reader = commandPartyGroup.ExecuteReader())
{
while (reader.Read())
{
int groupId = Convert.ToInt32(reader["party_group_id"]);
if (myPartyGroupList.Where(partyGroup => partyGroup.PartyGroupID == groupId).Any() == false)
{
PartyGroup partyGroup = new PartyGroup()
{
PartyGroupID = groupId,
PartyGroupName = reader["party_group_name"].ToString(),
PersonList = myPersonList//where PersonList objects contain this groupId???
};
myPartyGroupList.Add(partyGroup);
}
}
}