用于Ruby on Rails开发人员的ASP.NET MVC?

时间:2010-02-17 19:09:58

标签: ruby-on-rails asp.net-mvc

长时间潜伏,第一次海报。我是一名自学成才的黑客,他开始学习Ruby on Rails。在工作中,我被允许在Web应用程序上工作 - 唯一的问题是我必须使用ASP.NET。这项技术选择是强制性的,因为我更喜欢使用Rails。

有很多“Rails for .NET / PHP / Java Developers”书籍和博客文章,但我没有发现任何相反的方向,从Rails到.NET。

有人可以概述一下典型的Rails应用程序如何转换为ASP.NET MVC吗?我将研究IDE,C#/ VBscript等的细节。但是可能的等价物是什么:

  • 发电机
  • 宝石/插件
  • 数据库
  • 迁移
  • 路线
  • 模型(ORM)
  • 控制器(InheritedResources)
  • 视图(布局,模板,部分)
  • Rails控制台
  • 测试单位/规格
  • 等。别的什么我忘了

我假设我认为很多Rails细节都是理所当然的,就像基于路由的辅助方法一样,并且简单的宏关联声明是不可能的。 :(

非常感谢你!

4 个答案:

答案 0 :(得分:8)

我认为.Net世界中你会发现你有很多选择。 Rails很好,因为它在一个地方提供所有这些东西,但是为.Net开发你必须拼凑出你自己的解决方案。

  • 生成器 - 有各种代码生成工具,但每个都是针对不同的部分。例如,您可以获取将基于数据库生成代码的MyGeneration。
  • 宝石/插件 - 没有联合系统;可以在Web上找到组件,您可以下载源代码或.dll,然后将项目中的引用添加到程序集(.dll)。
  • 数据库 - 你可以连接到几乎任何东西;您可能会找到MS SQL Server的最多指导。
  • 迁移 - 我不知道在.net世界中有这种直接方法;我通常在SQL中编写SQL代码,并在部署时手动在服务器上运行脚本。
  • 路由 - ASP.Net MVC包含路由,查看在创建项目时生成的global.asax.cs文件。
  • 模型(ORM) - .Net的ORM到处都是。作为.Net的一部分,包括Linq-to-sql和Entity Framework。在MS之外你可以找到很多,但我可能会推荐NHibernate。
  • 控制器 - 内置于.Net MVC;你可以编写代码。
  • 视图 - 内置于.Net MVC;你再一次写下它们。 MasterPages允许您在所有页面上获得相同的总体布局(包括公共页眉/页脚等),Web控件(.ascx文件)允许您进行局部视图。
  • Rails控制台 - 我不知道它提供了什么(我是一个对学习Rails感兴趣的.net开发人员,但还没有花太多时间); Visual Studio允许您调试应用程序,逐步执行代码等。我不认为除了编写代码,编译和运行代码之外,还有任何可用于测试代码的控制台。
  • 测试单元/规格 - .Net有一些测试框架(MS包含框架,NUnit是一种替代方案)。对于规格等,可能谷歌围绕行为驱动设计,看看存在什么。

答案 1 :(得分:5)

RoR迁移有几个.NET端口。我使用了migratordotnetFluentMigrator。两者都按预期工作但我更喜欢FluentMigrator。它功能更全面(例如可以创建索引),我喜欢流畅的风格。

答案 2 :(得分:2)

LINQPad相当于Rails控制台..请看这里: https://stackoverflow.com/a/9403457/1029644

答案 3 :(得分:0)

你应该下载Visual Studio 2008 Express,然后下载ASP.NET MVC 1.0(我不会下载ASP.NET MVC 2.0,因为它只在RC中。等到它最终达到2.0)。

您还可以查看Nerddinner walkthrough。学习ASP.NET MVC时非常有用。

  • 发电机

你的意思是代码生成器吗? EW。

  • 宝石/插件

如果您需要功能,可以构建它或查看是否存在JQuery插件。

  • 数据库

可以通过您的模型访问数据库。

  • 迁移

  • 路线

路由由框架处理,您可以在Global.asax.cs文件中添加路由。

  • 模型(ORM)

模型确实仍称为“模型”,在ASP.NET MVC中,如果使用LINQ-To-SQL,则在拖动数据库表时会为您生成模型。您可以使用存储库模式访问数据库模型。

  • 控制器(InheritedResources)

控制器仍称为控制器。

  • 视图(布局,模板,部分)

有不同类型的View引擎,但ASP.NET MVC提供的引擎应该最好。

  • Rails控制台

我猜你的意思是IDE / Debugger?您可以在Visual Studio中构建和调试ASP.NET MVC应用程序。

  • 测试单位/规格

您可以使用NUnit,也可以使用MSUnit。 MSUnit已经与Visual Studio集成,但NUnit可以是。