关于mysql:没有Microsoft SQL Server的ASP.NET 3.5-我会失去什么?

关于mysql:没有Microsoft SQL Server的ASP.NET 3.5-我会失去什么?

ASP.NET 3.5 Without Microsoft SQL Server - What do I lose?

我刚被分配使用ASP.net 3.5和MySQL进行CMS。我是ASP.NET开发的新手(对于C#来说已经足够了),我想知道当我无法选择使用Microsoft SQL Server时,我失去了哪些主要的ASP.NET和常规.NET。

我已经从快速Google搜索中得知我失去了LINQ(我真的很期待使用它来构建我的模型层!),但是我不确定我还会失去其他方便的功能。由于我一直依赖假定您使用MS SQL Server的ASP.net教程,因此我感到我的ASP.net知识中的一部分刚刚变得无效。

谢谢!


您可以在许多ORM中使用MySql,其中之一是NHibernate。在大多数情况下,您可以将其视为在SQL Server或Oracle上运行。借助Linq2NHibernate,您可以获得不错的LINQ语法。

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

当然,您会丢失Linq2SQL。发行后不久,EntityFramework将具有第三方适配器MySql,Oracle和其他一些适配器。


您不会丢失LINQ,而是会丢失LINQtoSQL。 LINQ本身更通用,因为它可以用于实现iQueryable的任何对象。

您丢失了SqlDataSource,没什么大不了的。

您失去了服务器资源管理器与sql server为您完成的一些集成,这又不是什么大问题。

就我而言,您不会失去任何非常重要的东西,也不应该失去任何.net知识。大多数示例使用sql server作为默认服务器,但是可以很容易地将它们更改为使用其他数据库。

也已经有一些使用MySql的开源.net CMS软件包了,看看cuyahoga


由于丢失了通知服务,您还丢失了SqlCacheDependency


想到的一些事情:

  • asp.net具有很好的"自动"用户管理(身份验证)系统。我认为它仅与SQL Server一起使用,但是可能有一种使其在其他数据库上运行的方法。这些教程通常假定使用SQL Server(或用于开发的基于内置文件的DB)
  • 与SQL Server无关,但对任何项目都有用的是SQLCLR,我发现它对sql server来说是一个很大的补充。使您可以将在业务级别(支持dll或类)中编写的逻辑委托给SP中的sql服务器,但该SP是用vb.net/c#编写的
  • 通知服务

推荐阅读