c# - 在类中重现 "SQL Tables"

标签 c# sql oop reference

我有一组类 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/

相关文章:

java - 为什么我们在 Java 中实例化 Calendar Class(abstract)

c# - 手动加载框架元素

mysql - 从同一个表中选择相同的数据,只是将条件作为不同的列

sql - 查找多次出现的情况

mysql - INSERT 插入行到现有表中

java - 如何从 JFrame 切换到 java 类?

c# - 我可以通过类型获取 C# 委托(delegate)的签名吗?

c# - 如何在 TPL 中检查变量是否已在其他线程中更改

c# - 如何在 HDF5DotNet 中创建 2D H5Array

C++使用来自不同类的公共(public)变量