我想在c#中创建一个应用程序,我可以保留所有笔记和私人文档。 GUI如下所示:
---------------------------------
| Filter | ListView |
------------ |
| TreeView | |
| | |
| | |
| | |
---------------------------------
我希望在ListView中看到所有注释,当我输入Filter时,我希望ListView删除那些我不感兴趣的注释。 TreeView将显示所有"标签"我添加到我的笔记中,通过选择一个或多个,它也会过滤掉我感兴趣的笔记。
所以我得到了这个类,它获得了变量tag
,它是我为此笔记输入的所有关键字的字符串,以及note
,它是带有注释本身的字符串。
那么,最好的方法是怎样做的? 我是否应该在每次想要更新ListView时保留所有笔记并进行查询? 或者,当我关闭并在启动应用程序时将其读入内存时,我应该进行某种序列化吗? 这样做的最佳方法是什么,即使我收到大量笔记,我也希望它表现良好!
答案 0 :(得分:1)
你在这里有很多选择,每个人都有自己的优势和劣势。
<强> 1。平面文件
您当然可以将此信息写入标准平面文件并在应用程序启动时将其读入内存,这很容易读写,但是您需要将它们全部加载到内存中才能对它们进行排序和查询。数据。如果你有很多笔记,那就不好了。
<强> 2。实体框架
实体框架将是我个人对此的偏好,因为您可以根据需要从数据库查询数据,它还会使您提到的功能(如树视图)更容易实现。对于这种情况,我可能会使用Code First创建一个本地数据库(SQLCE),因为这意味着您的应用程序不需要完整的SQL Server实例。
实体框架的另一个不错的功能是,如果它不存在,它将自动为您创建数据库,并允许您简单地使用代表数据库中记录的C#poco类。
第3。 NOSQL数据库
这可能是你的另一个选择,那里有很多NOSQL数据库可能非常适合你的需求,我必须承认我很少或没有经验,但他们肯定会胜任这项工作。我会允许有经验的人指导你。