c# - 使用 C# 存储数据的正确方法

标签 c# mysql database data-structures

我目前正在设计一个 Windows 桌面应用程序来管理我教会的许多任务,但目前我不知道如何为这些任务保留适当的数据。我不想连接到远程服务器来存储数据(即 MySQL 或 MSQL),除非完全必要,否则我不喜欢使用 JSON 或 XML。将有大约 150-500 行数据,每行可能有 40-50 列数据,每列中的数据量未知。我知道如何用 MySQL 做到这一点,但除非真的有必要,否则我不想那样做。基本上,还有其他选择吗?还是 MySQL 只是最好的方式?

编辑: 该应用程序将处理非常敏感的数据,例如地址、SSN 号码、电话号码以及死亡和出生证明,以及一些财务数据。

最佳答案

您可以做很多事情。您可以使用内置的 C# 工具简单地将表示您的数据结构的 C# 类序列化到磁盘:

http://www.dotnetperls.com/serialize-list

基本上,您会在应用程序启动时从磁盘加载数据,并定期(可能在每次更改后)写回数据。数据可能包含一个或多个 c# 对象集合。这是最简单的解决方案。您可以选择以二进制格式或开箱即用的 XML 格式保存。如果数据是敏感的,那么您可以对其进行加密。

如果你需要复杂的查询行为,并且你喜欢sql,你可以使用嵌入式sql数据库(SQL-Server Express和SQLite就是例子)。还有许多非 SQL 嵌入式数据库可供选择。

一些嵌入式数据库,例如 SQLite,具有支持强大的内置加密的风格。看这里:https://www.zetetic.net/sqlcipher/

没有正确的方法,有很多选择,您必须根据情况选择最适合您的方法。我经常编写仅将对象集合写入文件系统的应用程序。

关于c# - 使用 C# 存储数据的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156159/

相关文章:

c# - 查找对子方法的所有引用

javascript - 更改值的 HTML 表格和外部 Php 文件

mysql - 如果调用 "SELECT FOR UPDATE"的线程死了会怎样?该行是否永远锁定?

java - 数据库设计: Email as table's id

database - 订单/发票/支付数据库建模

C# 强制运算符?

c# - Vue 在 axios post 请求中的对象中发送空参数

c# - 我如何在 asp.net core 2.2 中实现基于 Cookie 的身份验证和 jwt?

mysql - 为 ORDER BY 强制使用索引是否更好?

PHP 推荐从类实例发起数据库连接的方法