-je obtenir des données sur les clients dans ma base de données avec cette méthode:Comment joindre les résultats de deux ensembles différents dans 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;
}
mais aussi j'ai une autre méthode qui compte la valeur pour le champ supplémentaire dans KlientViewModel - champ appelé « Naleznosci ».
J'ai une autre méthode qui compte la valeur de ce champ en fonction des ids clients, il ressemble à ceci:
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);
}
Donc ce que je veux faire est de joindre les données de méthode GetNaleznosc avec les données générées dans la méthode GetListOfKlientViewModel . J'appelle GetNaleznosc comme ceci:
GetNaleznosc(list.Select(k => k.Id).ToList())
mais je ne sais pas quoi faire ensuite.
Je ne sais pas non plus si GetNaleznosc devrait retourner Dictionary ou peut-être que quelque chose d'autre est meilleur à cet effet. – Inez
Comme il s'agit d'un site Web en anglais, cela nous aiderait si vous pouviez traduire le code en anglais. Au moins, dites-nous ce que GetNaleznosc signifie. –
@Mark: GetNaleznosc signifie GetCredit - c'est par client, mais pour l'instant je ne le stocke pas dans un champ séparé dans DB (je ne veux pas) et je dois le calculer avec cette logique (à l'intérieur du GetNaleznosc) . Je pense que je peux utiliser ici linq rejoindre, mais je ne sais pas encore comment. – Inez