Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC开源应用程序。MySQL还是SQL Server?_Asp.net_Mysql_Sql Server_Asp.net Mvc_Open Source - Fatal编程技术网

ASP.NET MVC开源应用程序。MySQL还是SQL Server?

ASP.NET MVC开源应用程序。MySQL还是SQL Server?,asp.net,mysql,sql-server,asp.net-mvc,open-source,Asp.net,Mysql,Sql Server,Asp.net Mvc,Open Source,我有大约4年的ASP.NET和SQL Server(仅web表单)经验。我对RubyonRails有一点了解,在我的工作中,我用ASP.NETMVC开发了一个非常小的2-3页的应用程序。现在我和我的一个朋友(和我有同样的经历)愿意获得更多的ASP.NETMVC经验。为此,我们考虑在ASP.NET MVC中开发一个开源应用程序。它可以是一个博客系统、论坛或其他任何东西,这样社区也可以从中受益。但我们无法确定MySQL和SQL Server之间应用程序的后端数据库。你对以下几点有什么建议- 社区会更

我有大约4年的ASP.NET和SQL Server(仅web表单)经验。我对RubyonRails有一点了解,在我的工作中,我用ASP.NETMVC开发了一个非常小的2-3页的应用程序。现在我和我的一个朋友(和我有同样的经历)愿意获得更多的ASP.NETMVC经验。为此,我们考虑在ASP.NET MVC中开发一个开源应用程序。它可以是一个博客系统、论坛或其他任何东西,这样社区也可以从中受益。但我们无法确定MySQL和SQL Server之间应用程序的后端数据库。你对以下几点有什么建议-

  • 社区会更支持或需要哪一个
  • 如果我们使用MySQL,前面的路会很艰难吗
  • 是否有机会通过使用ORM支持这两种方法(我没有使用任何ORM的经验)
  • 还有其他建议吗

  • 提前感谢。

    如果您无法决定使用哪个作为后端,那么我建议您为数据层定义一个接口,对该接口使用IRepository模式,然后简单地选择一个并为该选择编写数据层的实现。在一个(成功的)开源项目中,不太可能每个想要使用它的人都对什么样的数据库适合他们有相同的想法。在这种情况下,设计它,使它可以使用任何数据库,给出一个合适的接口实现是明智的做法。如果您不介意依赖于其他库,那么使用已经支持许多不同数据库的类似工具可能是您想要走的路线。

    • MS SQL更易于与.NET一起使用。NET包含现成的LINQ到SQL ORM,因此无需安装任何东西

    • MS SQL有一个免费的快速版,但它的功能(4Gb用于DB,仅1个CPU等)是否足以满足您的应用程序(IMHO=)取决于您自己

    • 存在允许在DBMS之间切换的ORM:。NHibernate是最强大的野兽,如果您想从RoR中寻找熟悉的概念,它有一个实现


    tvanfosson和老乔治给出了很好的评价

    抛开ASP.NETMVC不谈,更多的是MySQL和MSSQL。我已经使用这两种方法开发了web项目,并且从开发的角度来看,它们相对来说是相当不错的。我用的是NHibernate

    从部署/生产的角度来看,您将受到MSSQL Express edition的限制,假设您不打算为此付费。您可能需要在这方面花些心思。

    使用ORM->NHibernate

    社区会更支持或需要哪一个

    对于大多数业务用户和最专业的ASP托管提供商,它将是Microsoft SQL Server IMHO。在版本号上的分布令人惊讶。我看到很多SQLServer2008,很多2005,还有很多2000

    对于小型的“我们很便宜,是免费的吗?”企业和个人,我也在Windows上看到了一些MySQL。我想在我曾经合作过的公司圈子里,你提到的两个数据库中有2/3的MSSQL和1/3的MySQL

    如果我们使用MySQL,前面的路会很艰难吗

    就更困难的发展而言?是与否;LINQtoSQL或多或少只适用于MSSQL,许多人发现它是一种简单自然的技术。所以,如果您的计划是使用LINQtoSQL作为您选择的ORM,那么“是”。正如elder_george所说,nHibernate等其他优秀的ORM同样适用于这两个数据库

    是否有机会通过使用ORM支持这两种方法(我没有使用任何ORM的经验)

    当然,有了nHibernate的f.x,还有一点额外的XML用于nHibernate配置,还有一些更广泛的安装文档、SQL脚本等等供用户使用

    还有其他建议吗

    因为这是您的第一个应用程序,所以请使用mocksups&prototype、UML或您选择的其他工具,先进行设计。看看是否可以让一些经验丰富的MVC开发人员对您的设计提出批评,但不要把他们的批评当成福音,正确的做法不止一种

    一定要考虑TvoSoSon的建议,使用iRealStand在存储层上提供灵活性。


    考虑从一开始就使用单元测试和依赖注入;从长远来看,两者都是非常重要和有益的。不利的一面是,如果你以前没有这些方面的经验,那将是很多新技术。

    几个月前我也遇到过类似的情况。现在我在ASP.NETMVC上的最新项目几乎完成了。这是我选择的布景

    --NETMVC+MySQL。没有ORM--

    我决定使用MySQL而不是MS SQL,因为MySQL是免费的,而且MS SQL非常昂贵。如果你正在开发一个开源应用程序,你必须认真考虑这一点。如果您的应用程序被广泛采用,这将是一个主要问题

    起初,我试图通过ORM——企业框架(EF)使用MySQL。这是有史以来最糟糕的决定。企业框架完全扼杀了性能。这是一个个坑中的坑。我相信nHibernate更好,但我不知道有多好

    使用我自己的SQL代码,事情已经足够快了

    我的网站的第一次迭代将在本周公测,然后将有几个迭代


    它进行得相当顺利,所以我很容易推荐我选择的套件。

    MS SQL Server Express是免费的。它在其限制范围内表现良好。因此,除非您超过Express edition,否则这不是一个成本问题。MS SQL Express将仅支持1 GB的最大内存和高达4 GB的数据库大小。你可以比你意识到的更快地超越它们。特别是如果设置了多个数据库(如果设置了多个站点,则可能会设置多个数据库)