Есть ли эквивалент .NET для Rails Console?

Консоль Rails настолько полезна для прямой проверки работоспособности вашей модели. Есть ли эквивалент ASP.NET MVC?

Можно ли имитировать поведение консоли Rails с помощью LinqPAD?

Ответ 1

awesome - я обнаружил, что LinqPAD 4.38.03 (последняя бета-версия) отлично работает, как замена Rails Console!

Мой проект ASP.NET MVC3 основан на Entity Framework 4.2 (с использованием подхода, основанного на базе данных), с которым Linqpad прекрасно сочетается. Я могу ссылаться на свою сборку как на соединение и запрашивать модель, контроллер, репозитории и т.д. В интерактивном режиме, как в Rails Console!

Это были мои шаги

  • В диспетчере соединений (слева) нажмите "Добавить соединение"
  • нажмите радио, помеченное как "использовать типизированный контекст данных из вашей собственной сборки"
  • щелкните "Entity Framework dbContext POCO (4.1/4.2)", затем "следующий"
  • используйте "просмотр", чтобы найти "путь к пользовательской сборке" (в вашем проекте).
  • нажмите "выбрать", чтобы выбрать класс dbContext из вашей сборки.
  • нажмите "выбрать", чтобы найти файл конфигурации проекта в "пути к файлу конфигурации приложения"
  • введите необязательное имя подключения, нажмите "Далее"

Наконец, в окне запроса выберите новое соединение сборки как "База данных" и это! Теперь вы можете работать с вашей сборкой в ​​интерактивном режиме.

Например, чтобы проверить и протестировать контроллер: (во-первых, в свойствах запроса добавьте ссылку на 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();

Ответ 2

На самом деле, поскольку вы не находитесь в запущенном приложении так же, как с консолью Rails. - Как показывает Ллойд в своем ответе, это кажется очень возможным. По-прежнему кажется, что проще использовать Immediate Window, если этого достаточно для того, чего вы пытаетесь достичь.

LINQPad отлично работает, и я использую его так же, как я использую Ruby Interactive Ruby Shell (IRB).

Немедленное окно в отладчике Visual Studio может приблизить вас к тому же опыту, что и Rails Console. Надеюсь, что С# 5.0 приблизит нас, потому что теперь вы не можете использовать лямбда-выражения и т.д.