有没有类似Rails Console的.NET等效工具?

17

Rails控制台对于直接检查您的模型非常有用。是否有等效的ASP.NET MVC?

是否可以使用LinqPAD模仿Rails Console的行为?

2个回答

4

事实并非如此,因为您无法像使用Rails Console一样在运行的应用程序中。 - 如Lloyd在他的答案中所示,这似乎是完全可能的。如果它足以满足您的需求,那么使用立即窗口可能更容易。

LINQPad非常棒,我使用它的方式与我使用Ruby交互式Ruby Shell(IRB)类似。

Visual Studio调试器中的立即窗口可以让您接近Rails Console提供的相同体验。我希望C# 5.0会让我们更接近,因为现在您无法使用lambda表达式等内容。


3

太棒了!我发现 LinqPAD 4.38.03(最新测试版)完美地充当了 Rails Console 的替代品!

我的 ASP.NET MVC3 项目基于 Entity Framework 4.2(使用“数据库优先”方法),Linqpad 可以很好地集成。我可以将我的程序集作为连接引用并交互式地查询模型、控制器、存储库等,就像在 Rails Console 中一样!

以下是我的步骤:

  1. 在连接管理器中(在左侧),点击“添加连接”
  2. 点击标记为“使用来自您自己的程序集的类型化数据上下文”的单选框
  3. 点击“Entity Framework dbContext POCO (4.1/4.2)”,然后点击“下一步”
  4. 使用“浏览”定位“自定义程序集路径”(在您的项目中)
  5. 点击“选择”以从程序集中选择 dbContext 类
  6. 点击“选择”以找到“应用配置文件路径”中的项目配置文件
  7. 键入可选连接名称,然后点击“下一步”

最后,在查询窗口中将您的新程序集连接选择为“数据库”,这就完成了!您现在可以与您的程序集进行交互。

例如,要检查和测试控制器:(首先,在查询属性中添加对 System.Web.Mvc 的引用)

var controller = MyProject.Controllers.CustomerController();
controller.Index().Dump();

提交一些数据

var customer = new Customer() {name = "Brian"};
controller.Create(customer);

查看数据库中的新客户信息

Customers.Dump();

如果您有一个代码库

var repo = new Repository();
repo.GetCustomers().Dump();

你能在Rails控制台中给出一个如何调用控制器的例子吗?例如 app.get '/posts/1',然后使用 response = app.response - Jonas Elfström
2
尽管如此,我仍然期待将我的所有ASP.NET项目移植到Rails。 - Lloyd
1
在我看来,无论如何,Rails 控制台都更加优秀。 - jcollum
我甚至都记不得了,我已经放弃了.NET和Rails,转而使用Node。 - Lloyd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接