0
現在、私はいくつかの最適化を行いたいので、私は手動でSQLクエリ(linqなし)を使用しました。既に集計されグループ化されたデータのビルドオブジェクトツリー
+----------+--------+------------+
| Location | Client | Amount |
+----------+--------+------------+
| Foo | Foo1 | 2850180,00 |
| Foo | Foo2 | -173103,50 |
| Foo | Foo3 | 595316,73 |
| Bar | Bar1 | -5264,80 |
| Bar | Bar2 | -2884,30 |
+----------+--------+------------+
私は今からオブジェクトツリーを作成したい_ctx.Database.SqlQuery<MyStrongResultModel>(query).ToList()
使用してデータを取得basicly:これは私が得る結果です。
public LocationInfo
{
public string Location { get; set; }
public IEnumerable<ClientInfo> ClientInfoCollection {get; set; }
}
public ClientInfo
{
public string Client { get; set; }
public decimal Amount { get; set; }
}
私はこのような何かを試してみました:
これは動作しますが、私のデータは既にグループ化して合算されているので、間違ったaproachように思える
data.GroupBy(e => e.Location).Select(locationGroup = new LocationInfo {
Location = locationGroup.Key,
ClientInfoCollection = locationGroup.GroupBy(e => e.Client).Select(clientGroup => new ClientInfo
{
Client = clientGroup.Key,
Amount = clientGroup.Sum(e => e.Amount) //<-- Actualy this is only one record
})
});
。
おかげでたくさん。 Totalyは今日私のコーヒーを逃した:D –