Есть ли .NET эквивалент Rails Console? - PullRequest
15 голосов
/ 22 февраля 2012

Rails Console очень полезна для прямой проверки работоспособности вашей модели. Существует ли эквивалент ASP.NET MVC?

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

Ответы [ 2 ]

4 голосов
/ 22 февраля 2012

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

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

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

3 голосов
/ 23 февраля 2012

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

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

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

  1. В диспетчере подключений (слева) нажмите «Добавить подключение»
  2. нажмите на радио с пометкой "использовать типизированный контекст данных из вашей сборки"
  3. нажмите «Entity Framework dbContext POCO (4.1 / 4.2)», затем «далее»
  4. используйте "browse", чтобы найти "путь к пользовательской сборке" (в вашем проекте)
  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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...