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:
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.
- Uruchamiamy SQL Server Management Studio.
- Wykonujemy zapytanie np.:
SELECT * FROM dbo.movie where id=3 FOR JSON AUTO
- W odpowiedzi dostajemy wynik w postaci JSON’a, wystarczy skopiować treść.
- Otwieramy Visual Studio, Edit, Paste Special Paste JSON As Classes.
- Mamy przygotowaną klasę z modelem ze wszystkimi polami z tabeli SQL oraz odpowiednimi typami danych.
Ź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