【问题标题】:Alternative to SQL Server for a simple web app用于简单 Web 应用程序的 SQL Server 替代方案
【发布时间】:2009-08-22 16:53:54
【问题描述】:

我有一个使用 SQL Server、实体框架、C# 和 WCF 编写的简单应用程序。当我想与我的朋友分享这个应用程序时,我意识到他们没有在他们的机器上使用 SQL Server。我可以选择 SQL Server Express 版本,因为我的应用程序的用途是个人而非商业用途。

我发现 MySQL 是 SQL Server 的流行替代品。

1) 迁移到 MySQL 时是否需要更新我的实体?

2) 我是否应该预期我的 BL 层中的代码会因实体层的变化而发生变化? (我想知道实体是否是为 SQL Server 构建的)

有没有类似 MS Access 的数据库比 MySQL 更轻量级?

有没有像MS Access一样不需要安装但可以复制的数据库?

感谢您的回复!

【问题讨论】:

  • 请注意:您也可以将 Express 用于商业应用,无需注明是个人用途。

标签: c# .net sql-server entity-framework


【解决方案1】:

听起来你想要SQLite

SQLite 是一个软件库, 实现了一个独立的, 无服务器,零配置, 事务性 SQL 数据库引擎。

非常容易部署。另外,请查看System.Data.SQLite

根据 System.Data.SQLite 页面...

支持几乎所有实体 Sql 的框架功能 服务器支持并通过了 99% 的 MS 的 EFQuerySamples 演示中的测试 应用。

你应该很好。 :)

【讨论】:

  • 很好的参考 System.Data.SQLite。我仍然投票支持将 VistaDB 作为潜在的替代方案(请参阅我的回答)
  • 不确定您是指 VistaDB 还是 SQLite,但关于 VistaDB:是的。见vistadb.net/vistadb3/sample-code.aspx
【解决方案2】:

我不确定你的 BLL 是什么样子,而且我没有使用实体框架的经验,但我多次体验到 linq-to-sql 与 sql-server 和任何其他数据库一样工作得更好。

所以除非你有充分的理由使用 sql express,否则我建议坚持使用 sql express。

毕竟,在部署时你应该总是安装一些东西(除非你使用 xml 作为存储,这很可能使用 linq-to-xml)。

【讨论】:

    【解决方案3】:

    VistaDB Express Edition 也可免费用于非商业用途,并很好地集成到 .NET 和 VS 中。 afaik 它也适用于单个本地数据文件,因此不需要在您朋友的计算机上进行特定安装。

    否则我建议在 MySql 上使用 PostgreSQL,因为它更符合标准并且具有更好的许可证。

    【讨论】:

      【解决方案4】:

      我认为您所追求的只是提供者的变化。你需要使用 MySQL 的是.Net Connector,它支持大多数简单的东西。它还不是很成熟,所以你可能会遇到一些非常复杂的问题,但它应该可以通过 Entity Framework 完成大部分你想要的事情。

      使用实体框架您可以进行更新,它是 LINQ-to-SQL,不会针对任何其他数据库进行更新(除非您使用像 DotConnect 这样的第三方提供商)

      SQLite 是一种替代方案,但由于针对它的多个线程可能会导致其操作出现重大问题,因此如果您需要主要数据存储,我会使用 SQLExpress 或 MySQL。

      【讨论】:

        【解决方案5】:

        是的,您可以将 MySql 与 EF 一起使用,但我不知道它是否需要更改……如果确实如此,我不会感到惊讶。至少您的物理数据库必须移植/转换为 MySql,这需要时间。

        我假设如果您需要在朋友的 PC 上安装数据库,为什么不坚持使用 SQL Express,因为您已经在您的机器上使用 SQL Server 进行开发。与迁移到 MySql 相比,这个问题应该更少。

        【讨论】:

          【解决方案6】:

          我也会投票给VistaDB 3,因为它很容易部署。

          【讨论】:

          • 下次您也可以对您同意的答案进行投票并添加评论。这会对我的代表有好处;)
          猜你喜欢
          • 1970-01-01
          • 2021-08-28
          • 1970-01-01
          • 1970-01-01
          • 2011-11-11
          • 1970-01-01
          • 2013-01-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多