我有一个应用程序,它可能在每个微积分中使用大量数据。
我有一个包含很多属性的“A 类”。我有大约 10k 这个类的对象。
- 所以我的想法是只从数据库中加载一次并使用它们进行搜索。
所以我创建了一个 List :
public static List<ClassA>
在我的应用程序中。
经过一些测试,它确实比每次从数据库中加载我的数据都要快。
但我认为这不是一个好方法吗?垃圾收集器呢?它会被这个庞大的数据列表所困扰吗?
- 我的第二个想法是将我的 Class1 分成不同的类,以便从数据库中获得更小的请求。我的代码肯定更干净。但是现在真的很慢。
我在 List 方法中看到的唯一大问题是我的 Data 的持久性:我必须修改 List 中的元素(因此在列表中搜索它们)并通过 EntityFramework 持久化它们,而不是从 EF 中获取它们,然后修改它们通过 EF 持久化它们。
当然,避免使用该列表似乎“更好”,但是如果我不使用它,性能会很差。
- 我将探查器与列表一起使用,创建列表需要花费大量时间(每次我搜索某些内容时,它都会返回一个较小的列表:例如,获取属性“名称”等于“blabla”的所有对象)