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

ASP*_*evs 10 asp.net-mvc ruby-on-rails

长时间潜伏,第一次海报.我是一名自学成才的黑客,他开始学习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细节都是理所当然的,比如基于路由的辅助方法,并且简单的宏关联声明是不可能的.:(

非常感谢!

Chr*_*fer 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是一种替代方案).对于规格等,可能谷歌周围的行为驱动设计,看看存在什么.


Dan*_*Lee 5

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


Geo*_*ker 0

您应该下载Visual Studio 2008 Express,并下载ASP.NET MVC 1.0(我还不会下载 ASP.NET MVC 2.0,因为它仅在 RC 中。等到它达到 2.0 最终版本)。

您还可以查看Nerddinner 演练。对学习 ASP.NET MVC 非常有帮助。

  • 发电机

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

  • 宝石/插件

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

  • 数据库

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

  • 迁移

  • 路线

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

  • 模型 (ORM)

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

  • 控制器(继承资源)

控制器仍称为控制器。

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

视图引擎有多种类型,但 ASP.NET MVC 提供的视图引擎一开始应该表现良好。

  • Rails 控制台

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

  • 测试单位/规格

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