2009-06-12 89 views
10

什么是WPF应用程序的最佳解决方案,目的是用于一台计算机其中各种用户登录到他们并使用它们获取/保存本地信息?以下是我看到的选项:WPF应用程序的最佳本地数据库解决方案是什么?

  • MDF似乎是最好的选择,因为我认为你可以锁定它很舒服,所以即使用户可以访问的.mdf文件,他们仍然couldn”除了通过应用程序本身之外,它可以访问它中的数据。我假定.MDF文件必须与应用程序分开存在,因此会部署.exe和.mdf文件。噢,如果您使用.MDF文件,用户是否需要安装SQL Server才能使用它indicated in this stackoverflow question一样?

  • 我认为SDF不会被推荐,因为它有相当多的限制,主要用于移动存储。

  • XML可能是合适的,如果安全没有关系,例如,一个小型的单用户应用程序,用于保存本地无法保护的数据,并且该文件可以被计算机上的其他应用程序/网站轻松访问。

  • SQLite可能是一个选择,但从我所知道的这个数据库的.NET的API是不健壮的,是吗?

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

  • 还有IsolatedStorage但我认为这有严重的局限性,是吗?无法从其他应用程序访问它?

  • 也许使用云服务可能是可行的,且相当直进的今天,就必须研究

将不胜感激任何意见或想法。

回答

2

我会说SQLite。它的重量非常轻,易于使用,API也很好。您始终可以使用DbLinq作为ORM。

3

我会选择SQLite。你可以在这里得到了ADO.NET兼容的驱动程序:

System.Data.SQLite

+0

? – 2009-06-12 15:26:06

+0

您将如何保护数据,以便具有适用于Firefox的SQLite管理器插件的用户(https://addons.mozilla.org/en-US/firefox/addon/5817)无法将其打开并读取/写入它,有没有办法做到这一点? – 2009-06-12 15:27:59

1

SQL Server精简版是因为以下好处我的选择:

您可以与您的应用程序
  • 兼容的LINQ到SQL分发
    • 一个小型运行时库(搜索“SqlMetal.exe”)
    • 与Visual Studio集成的设计体验2008

    这是一个不错的多面手,作为一个.NET应用的轻量级解决方案。

    http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

  • 0

    MDF似乎是最灵活的解决方案,但用户需要有SQL Server Express的安装使用它。

    您如何计划执行CRUD流程?如果您想要使用Linq to SQL,那么您只能支持SQL 2005,Sql 2008和Sql Compact。

    此外,应用程序是否需要断开连接,部分完全连接到互联网?这可能会对你的决定产生一些影响。

    国际海事组织,我会从SQL Server精简版开始,如果这太限制移动到sql server express。 (.MDF)LINQ-to-SQLite在五个月前似乎没有成为现实,那么从那以后有没有变化?(.MDF)

    相关问题