Holding a large collection in memory, for querying
<p>Would it be ok, for example, to hold an IEnumerable in memory, in my ASP.Net app, indefinately?</p>

<p>For example:</p>

<p>Every morning, my asp.net mvc app needs to load data from CSV files.
This data is loaded from a few CSV files, then, using LINQ joins etc.. it's merged into a single, de-normalized collection, of around 500,000  "Things"</p>

<p>The apps sole purpose is to query this data.
Methods like:</p>

<ul>
<li>GetThingsByName </li>
<li>GetThingsByPrice</li>
</ul>

<p>etc...</p>

<p>My idea was to just have a static IEnumerable that the Controller could call upon..?</p>

<p>It would be running on a dedicated server...</p>

<p>Basically, I'm trying to avoid using a database (of any kind, NoSQL or otherwise), as I don't think it's needed, since the data is fairly volatile.</p>

<p>The querying would be done using LINQ.</p>
