我应该使用哪个数据库来开发小型.NET应用程序?

3

我正在使用.NET中的ASP和C#开发一个小型应用程序,希望它旁边有一个小型本地数据库,可以通过SQL查询或Linq查询保存和检索记录。我不需要太强大的东西,只需要替代将记录保留在.txt文件中的东西。

那么你有什么建议吗?

8个回答

4

使用SQLite

它不需要安装,只是一个数据库文件,并且有可用于.Net的连接器。

您还可以使用LINQ


2
我会选择使用SQLLite或XML,因为你说的是非常小的数据库。
而且使用XML,你可以使用Linq to xml。

1
如果您的数据中没有太多关系,XML文件和XPath可能是一个很好的资源。 - nolith

1

我会考虑使用SQLite来实现这个目的。

如果您更熟悉微软的工具,或者出于某些原因(例如贵公司已经拥有一个完整的mdb数据库文件),您也可以使用MS Access来创建本地和小型应用程序。


2
我完全看不出为什么要使用Access,因为有SQLite等替代方案可用。免费且更好。我太多次被MDB文件的限制所困扰了。 - Avner Shahar-Kashtan
我同意你的观点,但是有时候会有一些没有数据库经验的人,他们可能会更喜欢使用Access/MS解决方案。 - kappa
如果一个人对数据库没有经验,使用Access将使他们保持这种状态。我建议深入学习SQL(以任何偏好的版本),因为这是唯一获得经验的方法。 - Dave Becker
1
我也同意你的观点,但是能否有人解释一下为什么我的答案是无用或错误的。每个人都可以有自己的设计偏好,但在小型本地应用程序中使用ms访问文件并不是错误的。无论如何,既然这里的感觉是这样的,我会交换我的建议顺序。 - kappa
@Kappa 公平的评论。我的访问看法确实非常有偏见,我不会向任何人推荐它。话虽如此,你的回答并没有从根本上错误,所以我点了个赞。 - Dave Becker

1

1

最好使用SQL Express版本,因为它是免费的。尝试使用.NET实体框架代码优先进行快速应用程序开发。

无论如何,如果应用程序非常小,请考虑使用SQL Express,因为您可以编写整洁清晰的存储过程,并可以操作其他数据库对象。

请参阅http://www.microsoft.com/sqlserver/en/us/editions/express.aspx以获取更多详细信息。


0
在你的情况下,我会考虑以下几点:
  1. 如果所有表格中的记录不超过几百条,那么可以使用 XML。而且,@Ali 已经提到了 LINQ to XML,这将非常方便。
  2. VistaDB,因为它是100%托管代码,并且只需要部署一个小程序集即可同时支持32位和64位。
  3. SQL CE,仅仅因为它是最流行的数据库之一。当然,它也支持 LINQ 和并发。
  4. SQLite 作为 SQL CE 的替代品 :)

除非你的主机商已经提供了 SQL Express,否则不要选择它。这会增加你的解决方案的分发/安装复杂度。


0
我建议您使用SQL Server Express,因为:
  1. 它是免费的,并且安装容易
  2. 您可以轻松地使用Entity Framework或LINQ TO SQL来操作数据
  3. 如果您的公司也在使用SQL Server,它可以轻松地与公司的数据库进行通信。例如,将来某一天,您可能需要测试复制。

0

还没有人提到它,所以在这里介绍一下。mySQL和.Net mySQL客户端。


说实话,如果你的小应用程序永远只是一个小应用程序,那么这并不重要。然而,如果有一天你的应用程序“长大了”,市场部门决定将其作为公司的最新产品推出,那么如果你选择使用 MS SQL,就要小心了。MS SQL许可证可能非常昂贵。 - Dave Becker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接