Jak szybko stworzyć klasę z SQL Server w C#?

Realizując ostatnio jeden projekt napotkałem na pewne wyzwanie które oczywiście zmusiło mnie do zastanowienia się jak je rozwiązać i uprzyjemnić sobie życie. Otóż jestem bardzo wielkim leniem i moje motto życiowe to: „Pracować mądrze a nie ciężko”.

Zadanie opierało się na tym że trzeba stworzyć model klasy z już istniejącej tabeli z bazy Microsoft SQL Server. Jedna z pierwszych opcji to użycie skrótu w samym Microsoft Visual Studio prop + 2x Tab. Efekt jaki uzyskamy można zobaczyć poniżej:

Skrót do wygenerowania properties.

Jednak co w wypadku gdy mamy np. 20 kolumn w tabeli SQL? Wpisywanie ręcznie komend oraz ustalanie odpowiedniego typu danych jest czasochłonne. Na szczęście na pomoc przychodzi nam wbudowana funkcjonalność w Visual Studio która pozwala wygenerować klasę z pliku XML lub JSON.

  1. Uruchamiamy SQL Server Management Studio.
  2. Wykonujemy zapytanie np.: SELECT * FROM dbo.movie where id=3 FOR JSON AUTO
  3. W odpowiedzi dostajemy wynik w postaci JSON’a, wystarczy skopiować treść.
  4. Otwieramy Visual Studio, Edit, Paste Special Paste JSON As Classes.
  5. Mamy przygotowaną klasę z modelem ze wszystkimi polami z tabeli SQL oraz odpowiednimi typami danych.
Utworzenie klasy za pomocom JSON’a z SQL Server.

Źródła:
https://stackoverflow.com/questions/52225503/generate-c-sharp-class-from-sql-server-table/52974752
https://stackoverflow.com/questions/5873170/generate-class-from-database-table
https://www.plukasiewicz.net/Artykuly/NHibernate_LINQtoSQL_EntityFramework_ADONET