将项目从.MDF数据库迁移到.SDF

时间:2015-05-12 09:01:44

标签: c# windows forms linq sql-server-ce

我遇到了一个愚蠢的问题。

我开始用C#开发一个Windows Forms应用程序,它必须是独立的(绝对不需要安装)并且需要一个数据库。作为我的天才,我没有读太多内容并使用SQL Server Express .MDF数据库。

现在它与Linq及其所有优势(数据上下文,设计器等)完美配合,但我不知道客户端机器是否需要安装SQL Server才能使用数据库。我的程序可能部署到200-250台PC,并且不能在所有这些PC上安装SQL Server。

有没有办法使用SQL Server CE数据库而不是.MDF?或者我必须重写一半程序吗?

1 个答案:

答案 0 :(得分:0)

首先,请阅读SQL LocalDB。 它仍然需要安装并需要管理员权限才能安装。但是it supports静默安装,安装程序大小只有33MB,它支持完整SQL的大部分功能。

如果您根本无法承担任何安装,那么是的,SQL CE可能是您的选择。是否需要重写程序的一半取决于您使用数据库的准确程度。如果您依赖存储过程,视图,原始SQL和其他高级功能,那么您可能需要重写一半的程序。如果你只使用简单查询linq2sql,那么你可能没问题,只需要重写数据库初始化代码。 请记住,支持SQL CE工具的最后一个视觉工作室是2012年。

如果您根本无法安装任何内容,并且您将重写应用程序的一半 - 请记住现在有很多嵌入式数据库。

您可能更喜欢SQLite:它是跨平台,极受欢迎的SQL语言。

ESENT:没有SQL,但它有表/架构/索引/事务,Windows wince win2k的一部分,性能非常好,10-100k请求/秒是正常的。