Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 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 приблизит нас, потому что теперь вы не можете использовать лямбда-выражения и т.д.