我得到一些客戶的數據在我的數據庫使用此方法:如何在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」。
我有基於客戶IDS這一領域的計算值的另一種方法,它看起來像這樣:
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);
}
所以我想要做的就是與方法GetListOfKlientViewModel生成的數據加入從方法GetNaleznosc數據。我這樣稱呼GetNaleznosc:
GetNaleznosc(list.Select(k => k.Id).ToList())
但是不知道下一步該怎麼做。
我也不確定GetNaleznosc是否應該返回Dictionary或者其他更好的用於此目的。 – Inez 2010-04-28 22:12:52
因爲這是一個講英語的網站,如果你可以把代碼翻譯成英文,它會幫助我們。至少告訴我們'GetNaleznosc'的含義。 – 2010-04-28 22:14:19
@Mark:GetNaleznosc代表GetCredit - 這是每個客戶,但現在我不把它存儲在數據庫的分隔字段(我不想),我必須用這個邏輯來計算它(在GetNaleznosc中) 。我認爲我可以在這裏以某種方式使用linq加入,但不知道如何。 – Inez 2010-04-28 22:28:11