I'm currently working on a fund project and I have it set up so I get the holdings from my database and store in in to a DataTable to process.
I've created a function where my Database results are returned as a DataTable
var dtAll = db.GetTable(query)
Since a group of accounts have the same holding ie: MSFT, AAPL you will not get the same information twice only once. then apply the information to all the holdings.
My question is it worth it to instead of breaking it down into objects by creating a class List of accounts - > Fund - > holding
or going through LINQ
Additional information the actual DB table has everything listing on the holding level with the account coded in the record line (this is how the original set up was before I started at the company)
so it be like
accountx date MSFT 30 100 ...
accountz date MSFT 30 120 ...
the process is performing a lot of calculations and data manipulation