没有Microsoft SQL Server的ASP.NET 3.5-我会失去什么?
我刚刚被分配使用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和其他一些适配器。
回答
我想到了一些事情:
- asp.net具有很好的"自动"用户管理(身份验证)系统。我认为它仅与SQL Server一起使用,但是可能有一种使其在其他数据库上运行的方法。这些教程通常假定使用SQL Server(或者用于开发的基于内置文件的DB)
- 与SQL Server无关,但对任何项目都有用的是SQLCLR,我发现它对sql server来说是一个很大的补充。使我们可以将在业务级别(支持dll或者类)中编写的逻辑委托给SP中的sql服务器,但该SP是用vb.net/c#编写的
- 通知服务
回答
我们不会丢失LINQ,而是不会丢失LINQtoSQL。 LINQ本身更通用,因为它可用于实现iQueryable的任何对象。
我们会丢失SqlDataSource,这没什么大不了的。
我们会失去服务器资源管理器与sql server为我们完成的一些集成,这也不是什么大问题。
就即时消息而言,我们不会失去任何非常重要的东西,也不应该失去任何.net知识。大多数示例使用sql server作为默认服务器,但是可以很容易地将它们更改为使用其他数据库。
也已经有一些使用MySql的开源.net CMS包了,看看cuyahoga
回答
由于丢失了通知服务,我们还丢失了SqlCacheDependency
回答
对于linq看看这个。
有一个mysql linq provoder。
http://code2code.net/DB_Linq/