я получить некоторые данные о клиентах в моей базе данных с помощью этого метода:Как присоединиться к результатам двух разных наборов в LINQ?
public List<KlientViewModel> GetListOfKlientViewModel()
{
List<KlientViewModel> list = _klientRepository.List().Select(k => new KlientViewModel
{
Id = k.Id,
Imie = k.Imie,
Nazwisko = k.Nazwisko,
Nazwa = k.Nazwa,
SposobPlatnosci = k.SposobPlatnosci,
}).ToList();
return list;
}
, но и у меня есть еще один метод, который рассчитывает значение дополнительного поля в KlientViewModel - поле под названием 'Naleznosci.
У меня есть еще один метод, который рассчитывает значение для этого поля, основанного на клиент идентификаторов, это выглядит следующим образом:
public Dictionary<int, decimal> GetNaleznosc(List<int> klientIds)
{
return klientIds.ToDictionary(klientId => klientId, klientId => (from z in _zdarzenieRepository.List()
from c in z.Klient.Cennik
where z.TypZdarzenia == (int) TypyZdarzen.Sprzedaz && z.IdTowar == c.IdTowar && z.Sprzedaz.Data >= c.Od && (z.Sprzedaz.Data < c.Do || c.Do == null) && z.Klient.Id == klientId
select z.Ilosc*(z.Kwota > 0 ? z.Kwota : c.Cena)).Sum() ?? 0);
}
Так что я хочу сделать, это объединить данные из метода GetNaleznosc с данными, полученных в методе GetListOfKlientViewModel , Я называю GetNaleznosc следующим образом:
GetNaleznosc(list.Select(k => k.Id).ToList())
, но не знаю, что делать дальше.
Я также не уверен, что GetNaleznosc должен возвращать словарь или что-то еще лучше для этой цели. – Inez
Поскольку это англоговорящий сайт, это поможет нам, если вы сможете перевести код на английский. По крайней мере, скажите нам, что означает «GetNaleznosc». –
@Mark: GetNaleznosc означает GetCredit - это для каждого клиента, но пока я не храню его в отдельном поле в БД (я не хочу), и я должен вычислить его с помощью этой логики (внутри GetNaleznosc) , Я думаю, что я могу использовать здесь как-то linq join, но пока не уверен, как это сделать. – Inez