Konsola Rails jest bardzo przydatna do bezpośredniego sprawdzania poprawności modelu. Czy istnieje odpowiednik ASP.NET MVC?

Czy można naśladować zachowanie Rails Console za pomocą LinqPAD?

17
Lloyd 22 luty 2012, 19:19

1 odpowiedź

Najlepsza odpowiedź

Niesamowite - odkryłem, że LinqPAD 4.38.03 (najnowsza wersja beta) działa doskonale jako substytut Rails Console!

Mój projekt ASP.NET MVC3 jest oparty na Entity Framework 4.2 (przy użyciu podejścia "database first"), z którym Linqpad ładnie się integruje. Mogę odwoływać się do mojego złożenia jako połączenia i interaktywnie wysyłać zapytania do modelu, kontrolera, repozytoriów itp., tak jak w konsoli Rails!

To były moje kroki

  1. W Menedżerze połączeń (po lewej stronie) kliknij „Dodaj połączenie”
  2. kliknij radio oznaczone "użyj wpisanego kontekstu danych z własnego zestawu"
  3. kliknij „Entity Framework dbContext POCO (4.1/4.2)”, a następnie „Dalej”
  4. użyj "przeglądaj", aby zlokalizować "ścieżkę do niestandardowego zespołu" (w swoim projekcie)
  5. kliknij "wybierz", aby wybrać klasę dbContext ze swojego zestawu
  6. kliknij „wybierz”, aby zlokalizować plik konfiguracyjny projektu w „ścieżce do pliku konfiguracyjnego aplikacji”
  7. wpisz opcjonalną nazwę połączenia, kliknij "Dalej"

Na koniec w oknie zapytania wybierz swoje nowe połączenie asemblera jako "Baza danych" i to wszystko! Możesz teraz interaktywnie pracować z zespołem.

Na przykład, aby sprawdzić i przetestować kontroler: (najpierw we właściwościach zapytania dodaj odwołanie do System.Web.Mvc)

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

Aby „opublikować” jakieś dane

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

Aby zobaczyć swojego nowego Klienta w bazie danych

Customers.Dump();

Lub jeśli masz repozytorium

var repo = new Repository();
repo.GetCustomers().Dump();
3
Lloyd 23 luty 2012, 02:20