2

我正在开发一个辅助项目,该项目将是一个简单的 Web 应用程序,用于维护课程列表及其即将到来的时间表。

我真的很想在这个项目中使用 Linq to SQL,但不幸的是,我正在开发的服务器环境只有 MySql 可用。我曾短暂地涉足过 Subsonic,但它并没有完成工作。

不过,这个应用程序的数据库要求并不是很好,所以我很好奇在 App_Data 中使用 MDF 文件是否是一个可行的解决方案。否则,看来我将不得不手动编写我想不惜一切代价避免的 sql 查询。

4

10 回答 10

11

看看 Microsoft SQL Server Compact Edition。我相信您无需运行服务器即可处理 MDF 文件。所有代码都在进程中运行。我相信它有一些限制,但它可能对你有用,而且我认为它是免费的。

于 2008-08-29T21:15:51.120 回答
2

据我所知,只有在该计算机上安装了 SQL Server Express 时,您才能直接附加到 MDF(称为“用户实例”,而不是将 MDF 附加到“服务器实例”)。因此,您的装有 MySql 的机器也必须运行 SQL Server Express。

于 2008-08-30T00:31:37.687 回答
2

我早就完成了引发这个问题的项目,但最近我有另一个项目需要非常小的数据要求,所以我花了更多时间对此进行试验。

我曾假设部署 Sql Server Express 需要许可费用,但事实并非如此。根据微软的网站,你可以自由使用它,但有一定的限制:

  • 最大数据库大小:4 GB
  • 使用的最大内存:1 GB
  • 使用的最大 CPU:1(完整的过程,不是核心)

Sql Server Compact 对于 Web 应用程序来说不是一个好主意,因为它需要 hack 才能使其工作,而且它不是为 Web 所需的并发访问而构建的。但是,如果您的应用程序可以适应 Sql Server Express 的适度限制,那么它工作得很好。而且由于它像它的大兄弟一样使用常规的 T-SQL,因此您可以将 Linq to SQL 与它一起使用。

我听说Linq to Sql 支持现在在2.6 版本的 Mono 主干中,因此 L2S 与 Sql Server 的紧密耦合在不久的将来可能会成为一个争论点。我将最终移植我的代码以在我选择的数据库上使用 Mono 的高级 Linq to Sql 实现,或者完全走另一条路线(自从我上次尝试以来,SubSonic 已经有了突飞猛进的改进)。但就目前而言,Sql Server Express 是非常小的数据库驱动应用程序的有效选择。

于 2009-07-21T05:12:15.687 回答
1

您更有可能将 Access 数据库放在 App_Data 中。如果您使用的是 MSSQL MDF 文件,您肯定仍然需要 MSSQL 或 MSSQL-Express。

但是,您的问题令人困惑。您似乎在交换数据访问、ORM 和实际数据库。您可以将 SubSonic 与 MySQL 一起使用,但您不能将 LINQ to SQL 与非 MS 数据库或 MS Access 一起使用。

于 2008-08-29T20:42:01.343 回答
1

SQL Server Express 和“完整”SQL Server 之间的少数区别之一是能够自动附加到 MDF 文件——微软称之为“ xcopy 部署”。

SQL Server Express 是免费的(就像在啤酒中一样),所以除非您对安装框没有管理员权限,否则它应该可以正常工作。

于 2008-08-29T20:44:48.373 回答
1

为 SQL Server Compact +1。它是免费的,并且没有全职服务意义上的“引擎”,但您必须部署一个运行时(它只是两个 .dll 文件)。

于 2008-08-30T00:26:24.970 回答
0

我不明白......“在 App_Data 中有一个 MDF 文件”是什么意思?您需要正确安装 SQL Server 才能使其正常工作。您始终可以使用免费的 SQL Server Express 来开发应用程序,然后在完成后将数据库移动到正确的 SQL Server。在这里检查。

于 2008-08-29T20:34:19.957 回答
0

看来我误解了如何通过 .net 访问 mdf 文件。服务器上没有可用的 MS SQL Server,所以看起来我被搞砸了。

于 2008-08-29T20:44:48.247 回答
0

为 SQL Server Compact +1。它是免费的,并且没有全职服务意义上的“引擎”,但您必须部署一个运行时(它只是两个 .dll 文件)。

linq to sql 是否可以使用它?

于 2008-09-02T02:53:11.253 回答
0

您不能将 SQL Server Compact 与 asp.net 或 Web 开发一起使用

于 2009-06-20T12:18:20.420 回答