我刚刚被分配使用 ASP.net 3.5 和 MySQL 做一个 CMS。我对 ASP.NET 开发有点陌生(用 C# 就足够了)并且 我想知道当我无法选择使用 Microsoft SQL Server 时,我会失去哪些主要 ASP.NET 和一般 .NET 功能。

通过快速谷歌搜索,我已经知道我失去了 LINQ(而且我真的很期待使用它来构建我的模型层!),但我不确定我还会失去哪些其他方便的功能。由于我一直依赖 ASP.net 教程(假设您使用 MS SQL Server),因此我感觉我的大部分 ASP.net 知识都变得无效了。

谢谢!

有帮助吗?

解决方案

您没有失去 LINQ,而是失去了 LINQtoSQL。LINQ 本身更通用,因为它可以用于任何实现 iQueryable 的东西。

丢失 SqlDataSource 没什么大不了的。

您会失去服务器资源管理器为您与 SQL Server 进行的一些集成,这也没什么大不了的。

就我而言,您不会丢失任何非常重要的东西,并且您不应该丢失任何 .net 知识。大多数示例默认使用 sql server,但可以轻松更改为使用其他数据库。

另外,已经有一些使用 MySql 的开源 .net CMS 软件包,请看一下 凯霍加

其他提示

您可以在许多 ORM 中利用 MySql,其中之一是 NHibernate。在大多数情况下,您可以将其视为在 SQL Server 或 Oracle 上运行。通过 Linq2NHibernate,您可以获得漂亮的 LINQ 语法。

您将失去 SqlDataSource 控件,但有些人会认为这实际上是一种祝福:)

当然,您会失去 Linq2SQL。EntityFramework 在发布后不久将拥有第三方适配器 MySql、Oracle 和其他一些适配器。

由于失去通知服务,您也失去了 SqlCache依赖项

对于 linq 看看这个。

有一个 mysql linq provoder。http://code2code.net/DB_Linq/

我想到的一些事情:

  • asp.net 有很好的“自动”用户管理(身份验证)系统。我认为它只适用于 SQL Server,但可能有一种方法可以让它在其他数据库上工作。本教程通常假设 SQL Server(或用于开发的内置基于文件的数据库)
  • SQLCLR 与 asp.net 无关,但对任何项目都很有用,我发现它是对 sql server 的一个很好的补充。允许您将在业务级别(支持 dll 或类)中编写的逻辑委托给 SP 中的 sql server,但 SP 是用 vb.net/c# 编写的
  • 通知服务
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top