c# - 将数据加载到 RAM 以在所有表单中使用
问题描述
我想将一些数据从我的 sql 数据库加载到 RAM,并且可以在 C# winform 应用程序中的所有表单中使用。我尝试了 REDIS,但它的问题是我无法在数据库中保存我的对象类型列表或用户定义的类型。例如,
在应用程序启动时,我将数据从 sql 加载到 RAM
在发布期间,可以通过所有表格访问数据
当应用程序关闭时,将数据保存回 sql 数据库并更新更改的数据(如果有)
这可能吗?
我已经在做的事情如下,在应用程序启动时,我将所有数据从数据库加载到 XML 文件中,然后我得到了我想在表单中使用的数据,我反映了对 XML 中数据的任何更改立即归档。当应用程序关闭时,我使用 xml 文件中的内容更新 sql 中的数据。
解决方案
当然不需要将数据从 SQL 加载到内存中,然后将该内存转储到文件中,编辑文件,然后在应用程序退出时反转该过程。相反,将数据加载到Main()
函数中,将其保存到public static
表单可以访问的变量中。然后,调用运行 WinForms 的方法,编辑静态变量(只要您的表单代码引用该变量,您就不必担心线程安全),并在表单退出后将变量中的数据保存在Main()
方法。我希望这会有所帮助!
推荐阅读
- javascript - 有没有办法在 PDFTron 中绘制 SVG?
- python - 我想制作插入排序可视化器,排序工作但不是可视化器
- angular - Angular Universal 在请求标头中设置 set-cookies
- php - 如何从数据库中的三个表中同时获取数据
- qt - 为什么显示组合框的弹出功能在qt中不起作用?
- reactjs - 如何从材料 ui 提交自动完成的值?
- pine-script - Metastock 脚本到 Pine (Tradingview)
- c++ - [decl.constexpr].5 到底是什么意思?
- discord - Discord Bot UnhandledPromiseRejectionWarning:TypeError:generalChannel.send 不是函数
- excel - VBA打印循环没有将整个循环写入批处理文件