Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF应用程序的最佳本地数据库解决方案是什么?_Wpf_Xml_Cloud_Database_Mdf - Fatal编程技术网

WPF应用程序的最佳本地数据库解决方案是什么?

WPF应用程序的最佳本地数据库解决方案是什么?,wpf,xml,cloud,database,mdf,Wpf,Xml,Cloud,Database,Mdf,对于要在一台计算机上使用的WPF应用程序,目前最好的解决方案是什么?在一台计算机上,不同的用户登录到WPF应用程序,并使用它们在本地获取/保存信息?以下是我对选项的看法: MDF似乎是最好的选择,因为我假设您可以很好地锁定它,这样即使用户可以访问.MDF文件,他们仍然无法访问其中的数据,除非通过应用程序本身。我假设.MDF文件必须与应用程序分开存在,以便部署.exe和.MDF文件。哦,如果使用.MDF文件,用户是否需要安装SQL Server才能按原样使用它 我认为不推荐使用SDF,因为它有很

对于要在一台计算机上使用的WPF应用程序,目前最好的解决方案是什么?在一台计算机上,不同的用户登录到WPF应用程序,并使用它们在本地获取/保存信息?以下是我对选项的看法:

  • MDF似乎是最好的选择,因为我假设您可以很好地锁定它,这样即使用户可以访问.MDF文件,他们仍然无法访问其中的数据,除非通过应用程序本身。我假设.MDF文件必须与应用程序分开存在,以便部署.exe和.MDF文件。哦,如果使用.MDF文件,用户是否需要安装SQL Server才能按原样使用它

  • 我认为不推荐使用SDF,因为它有很多限制,主要用于移动存储

  • XML如果安全性无关紧要,则可能是合适的,例如,一个小的单用户应用程序可以在本地保存他无论如何都不会安全的数据,并且计算机上的其他应用程序/网站可以轻松访问此文件

  • SQLite可能是一种选择,但据我所知,用于该数据库的.NET API还没有那么强大,是吗

  • .mdb如果您需要用户同时使用Access编辑/查看数据或生成报告,则Access可能是一种选择

  • 还有隔离存储,但我认为这有严重的限制,不是吗,例如,无法从其他应用程序访问它

  • 也许使用云服务在当今可能是可行的,而且非常简单,必须进行调查


如果您有任何反馈或想法,我们将不胜感激。

我想说的是SQLite。它的重量非常轻,易于使用,API也很好。您可以始终使用as ORM。

我会选择SQLite。您可以在此处获得与ADO.NET兼容的驱动程序:


SQL Server Compact edition也是一个选项-


使用ClickOnce或将引擎DLL复制到应用程序目录,部署非常简单

SQL Server Compact edition是我的选择,因为它有以下好处:

  • 一个小的运行库,可以随应用程序一起分发
  • 与Linq to Sql兼容(搜索“SqlMetal.exe”)
  • 与Visual Studio 2008的集成设计体验
作为.NET应用程序的轻量级解决方案,它是一个很好的全方位解决方案


MDF似乎是最灵活的解决方案,但用户需要安装SQL server express才能使用它

您计划如何执行CRUD流程?如果您想使用LINQtoSQL,那么在官方上它只支持SQL2005、SQL2008和SQLCompact

此外,应用程序是否需要断开、部分或完全连接到internet?那可能会影响你的决定


在我看来,我将从SQLServerCompactEdition开始,如果这对SQLServerExpress的发展有太大限制的话。(.MDF)

五个月前,LINQ到SQLite似乎还没有成为现实,但从那时起,情况发生了变化吗?您如何保护数据,以便使用SQLite Manager插件的Firefox()用户不能只打开数据并对其进行读/写,有没有办法做到这一点?您可以为每个用户使用SQLite数据库文件。这与“.ldf”不一样吗您可以通过执行“添加项,本地数据库”来使用Visual Studio创建的文件?