什么是最适合.NET的基于DLL的数据库?

9
我有一个便宜的托管服务,不支持SQL Server或其他任何数据库。我知道有一些DLL可以添加到项目中并将其用作数据库。
我想知道哪个是最好的选择?在不支持任何类型数据库的托管服务中使用数据库还有其他解决方案吗?(不要告诉我可以使用基于文件的数据库,因为我不喜欢它)

所有数据库不都是在底层基于文件的吗? - BoltClock
假设他们的意思是非基于服务的。 - Mitch Wheat
@BoltClock,是的,但在幕后,你知道我更喜欢 DLL 数据库。 - Nasser Hadjloo
请记住,通常情况下 SQLite 在中等信任环境中无法工作,而大多数共享主机只提供中等信任级别。 - user452699
7个回答

12

7
"最好"可能是主观的,但是Microsoft SQL Server Compact 4.0Sqlite可能是不错的选择。
SQL Server Compact Edition 4已更新以实现以下功能:
  • 能够在Web服务器中的中等或部分信任环境中工作,并且可以轻松地与网站一起部署到第三方网站托管服务提供商。

5

2
如果您无法访问数据库服务器,则可以使用 SQL Server 紧凑版。此外,如果您的主机不支持数据库,您可以从另一个提供商获取托管数据库。另一个非常流行的无 DBMS 选项是 Sql light,我曾在 c 中使用过,并且确信有人已经将其扩展到 c# 中使用。

2

1
相反的是:没有向上扩展的方式。如果需要,您可以轻松升级到使用真正的服务器来使用 Sql Compact。 - TomTom
你可以轻松地使用 Entity Framework 将东西从一个地方移动到另一个地方。 - balexandre

2
我建议您使用 Db4o(面向对象的数据库):http://www.db4o.com。它存储对象而非表格和行,因此可以让您免除创建数据访问层、对象关系映射等操作,非常实用。
不过,如果您打算为多用户应用程序托管数据,任何可能的解决方案都不是一个好选择,因为会面临性能问题。

任何一种可能的解决方案都不是一个好选择,因为你会遇到性能问题。 - 能否详细说明? - Mitch Wheat
[...] 因为这些数据存储在单个文件中,每个线程需要对该文件进行独占锁定才能读取和写入数据 ... - Matías Fidemraizer

1

我正在使用 SqlLite 并且对它感到满意。即使在最便宜的共享 Web 主机中,它也能很好地工作。


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