我有一组类 City
, Country
, Border
.
每个类都相互引用:
- City 引用父Country
- Country 引用通过
List<City>
包含的城市 - Country 通过
List<Country>
引用其他邻国 - Country 引用一个 Border 类,在 2 个 Country 实例之间共享
我认为上述原因导致我正在使用的程序出现一些问题:加载缓慢和内存问题。
我不太确定到底发生了什么。我一直在读到“循环引用”是不好的做法。是否有另一种方法可以将类似 SQL 的类模式映射到常规类?
我真的很想避免调用方法 public City GetCities(){...}
因为每秒可能会有 120000 个这样的调用。所以我需要这些是 cached
而不是动态请求。
有人有想法吗?
最佳答案
听起来无论您使用什么来访问数据库中的项目,都执行了过多的提取操作,而且到处都是重复的对象。
表中的数据是否小到足以完全缓存?如果是这样,您可以在应用程序启动时将所有内容预加载到字典中,然后查询这些关系以获取关系。
关于c# - 在类中重现 "SQL Tables",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016560/