【问题标题】:ASP.NET 3.5 Without Microsoft SQL Server - What do I lose? [closed]没有 Microsoft SQL Server 的 ASP.NET 3.5 - 我会失去什么? [关闭]
【发布时间】:2010-09-08 05:51:29
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: asp.net mysql .net-3.5


    【解决方案1】:

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

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

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

    【讨论】:

    • 我同意你真的不会因为不使用 MSSQL 而失去任何东西。 .NET 不仅仅是 MSSQL。您仍然拥有 ASP.NET 的所有 AJAX 功能和控件。
    【解决方案2】:

    你不会失去 LINQ,你会失去 LINQtoSQL。 LINQ 本身更通用,因为它可以用于任何实现 iQueryable 的东西。

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

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

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

    还有一些使用 MySql 的开源 .net CMS 包,看看cuyahoga

    【讨论】:

    • 附注。您不会丢失 SqlDataSource。 SqlDataSource 可以支持任何提供程序,只要它有一个提供程序,而 MySql 确实有。我目前正在将 SqlDataSource 与 FireBirdSql 提供程序一起用于我正在做的项目。
    【解决方案3】:

    由于失去通知服务,您也失去了SqlCacheDependency

    【讨论】:

      【解决方案4】:

      想到的一些事情:

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

      【讨论】:

      • 我在工作中一直使用带有 mysql 的 asp.net 会员系统。您不仅可以编写自己的类库来为任何数据库处理这个问题(或者因为我有一个可以与大多数数据库一起使用的通用 dll),MySQL 还发布了它自己的 dll 让您使用所有成员资格功能。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多