Connect to SQL server

Ebben a posztban meg fogom mutatni, hogyan kell kapcsolódni egy SQL szerverhez Visual Studio használatával
Adott projektünkön belül kattintsunk a models-re majd add -> new Item:
1
Válasszuk az ADO.NET  Entity Data Model lehetőséget:
2
Válasszuk az EF Designer from database lehetőséget: (ebben az esetben már az sql szerver meg van írva, mi csak használni szeretnénk)
3
Majd New Connectionra kattintva:
4
úgy csatlakozunk az sql szerverhez, ahogy ebben a posztban tettük:
5
Ha a beírt adatok helyesek, akkor a VS felsorolja az SQL szerveren található adatbázisokat, én a Database adatbázist fogom használni:
6
Válasszunk biztonsági szintet: (én a kódba beleírtam a csatlakozási jelszót is,ahogy a képen látszik)
7
Majd válasszuk ki, melyik táblát szeretnénk importálni:
8
Ezt kiválatsztva létrejön a fizikai kapcsolat az adatbázis szerverrel,amit egy fizikai modelként  (edmx) ment el. Model réteg nekem most így néz ki:
10
Nézzük meg mi is történt a háttérben. Web.config fájlba került bele egy új adatbázis kapcsolódási pont. A képen sárgával kiemeltem:
11

Add migration

Ha szeretnénk bővíteni az AspNetUser táblát saját “tulajdonságokkal” a következőeket kell tennünk:
Esetünkben Deleted tulajdonsággal bővítünk:
-használjuk a System-et:
0
Az egyedünk a DbMigration-ból származtatjuk:
1
Majd parancssorban bekapcsoljuk a migrációt az Enable-Migrations paranccsal:
2
Hozzáadjuk az AspNetUser táblához az új tudlajdonságunk:
3
Frissítjük az adatbázist:
4
Esetleges változtatásokat elvégezzük a view részen is, de esetünkben ez rejtett tulajdonság, ezért nem kell megjeleníteni.
Mostantól használhatjuk az AspNetUser táblát a hozzáadott új tulajdonságával együtt.

Connect to azure

Ebben a cikkben meg fogom mutatni, hogyan kell kapcsolódni az AZURE adatbázisunkhoz SQL szerveren keresztül.

Ha ezt olvassuk, akkor már van AZURE adatbázisunk, ha nincs az előző cikk segít létrehozni.
1
Válasszuk ki a Connect to your database fül alatt View SQL connection string-et.
2
Itt látjuk a szerver nevét, az id-t a jelszóra meg emlékszünk. 🙂
Indítsuk el az SQL server management programot.
3
Ide írjuk be az azure-n látott adatokat. Sikeres belépés után a program így néz ki:
4
Írjuk meg az sql utasításokat. Válasszuk a new query-t a fenti menübűl:
5
Az én utasításaim így néznek ki:
6
Hajtsuk végre! (execute parancs)
7
Az adatbázisban létrejöttek a táblák. Lent pedig látjuk, hogy a sript hiba nélkül lefutott.

Azure – New Database

Ha szeretnénk egy adatbázis szervert létrehozni a legkönnyebben Microsoft Azure-n keresztül tudjuk megtenni.
Az oldal így néz ki:
1
Nekem már van pár adatbázisom, de ezek lejártak. Hozzunk létre újat.
Kattintsunk bal lent a new ikon-ra.
2
Válasszuk az SQL_DATABASE link alatt a CUSTOM CREATE fület.
3
A felugró ablakban válasszuk ki a Nevet, majd én a RETIRED TIERS alatt a web-et választottam ki, ekkor a maximális méret 1gb-ra állítódik be. COLLATION-t beállítottam magyarra. Lent pedig kiválasztottam az új SQL database szerver létrehozását.
4
A felugró menüben adjunk meg nevet, régiót és a használni kívánt jelszavat.
5
Kész is a szerverünk. A listában látszik is:
6
Már csak be kell azt állítani, hogy a tűzfal átengedje az IP címünket, amikor szeretnénk az adatbázist feltölteni. Válasszuk ki a beállítandó adatbázist, kattintsunk a nevére.
7
Válasszuk ki a kiemelt szöveget. Mostantól már lehet is használni a szervert, ahogy szerenénk!

Web API contoller használata

Ha már létrehoztunk a controllereket próbáljuk meg használni is! 😛

Hozzuk létre az adatbázis kapcsolatot:
1
K
övetkező a 2 get utasítás:
2
mit is csinál az első get?
Futtassuk a projektünket, hívjuk meg a webapi controllerünket:
http://localhost:xxxxx/api/Coords címen, nálam az eredmény:
3
Ez az eredményt az első get hívásra kaptuk, ami visszaadja az adatbázis teljes tartalmát. Hívjuk meg a 2. get -et ami paraméterezve van:
4
Weboldal válasza az ezzel az id-vel rendelkező egyed lesz:
4
Ezek alapján írhatunk a többi utasításra(put,post,delete) példát:
5
6
7

EnableSSL

Ha már van egy létező projektunk, és szeretnénk bekapcsolni az SSL-t a következőeket kell tennünk:
-Kiválasztjuk a solotion a projektünk alatt:
1
Properties fülön (alul) látjuk az SSL aktuális állapotát:
2
Duplán kattintsunk rá, ekkor enable-lesz, és a következő üzenetet kapjuk:
3
elfogadjuk, majd elfogadjuk a következő üzenetet is:
4
Ekkor a Properties fülön látni fogjuk az SSL url-jét, localhoston az én esetemben 44300 porton. Ha ott nem látszik, akkor projekt beállításai között a web fület kiválasztva látjuk a portot.
6

ADO.NET Entity Framework (4) – change view

Nézzük meg, hogy lehet módosítani az EF-t. Esetünkben elfelejtettünk jelszót rendelni a felhasználóhoz.

Nyissuk meg a felhasznalo.sql-t amit itt írtunk.
Írjunk bele plusz egy sort a T-SQL-be (esetünkben ez a password).
1
Futtassuk le! (F5)
Nézzük meg a modellben a DataMVCConnection.edmx-et.
Itt még nem frissült a felhasználó tábla.
2
Klikkeljünk a  DataMVCConnection.edmx-re, majd update modell from Database:
3
Válasszuk ki, azt a táblát, amelyik módosult (akár mindegyiket, esetünkben a felhasználó).
4
Ekkor megjelenik a jelszó mező is, buildeljük a projektünket:
5
J
elenlegi állásban a viewben még NEM jelenik meg a jelszó!
A legegyszerűbb talán úgy létrehozni újra, hogy mindent törlünk, hiszen még semmit se módosítottunk: (töröljük a felhasznalokat a view mappából és a hozzá tartozó controllert: FelhasznaloesController.cs)
6
Utolsó lépésként újrageneráljuk a controllert és hozzá a view-et ahogy itt tettük.

ADO.NET Entity Framework (3)

Hozzunk létre Viewet az eddig elkészült adatbázisunkhoz.
Adjunk hozzá egy új scaffolded item-et a controllerhez:
1
Válasszuk a 2. lehetőséget:
2
Válasszuk ki a model classt és a data context clast. Először célszerű az utóbbit, majd a model classban legördülő menüből válasszuk azt amit mi hoztunk létre adatbázis szinten az előző bejegyzésekben.
3
Ismételjük meg annyiszor, ahány táblánk van, esetünkben ez 3. Miután elkészültünk az alábbi file-ket szúrta be nekünk a VS:
4
Nézzük meg ezeket interneten. Először gyártsunk hozzá vezető linkeket:
5
Futtassuk a projektunkat egy böngészőben. (F5) Eredményünk:
6
Nézzük meg pl. a készülékek listáját:
7
Az itt megjelenő készülékek és leírásaikat mi írtuk meg itt.
Emlékeztetőül az utasítás ez volt:
MERGE INTO Droid AS Target
USING (VALUES
(1, ‘samsung s4′,’S4-es készulékem’, 1,1,1),
(2, ‘LG Nexus4′,’N4-es készulékem’, 2,1,1)
)
AS Source (ID, Nev, Leiras, UserID,CameraID,GPSID)
ON Target.ID = Source.ID
WHEN NOT MATCHED BY TARGET THEN
INSERT (Nev, Leiras, UserID,CameraID,GPSID)
VALUES (Nev, Leiras, UserID,CameraID,GPSID);

ADO.NET Entity Framework (2)

Feladatunk most hozzunk létre egy üres MVC projektet egy új solutionban vagy az előzőleg elkészült solution(ADO.NET Entity Framework 1 projekt) -hoz adjunk hozzá egy MVC projektet. Én az előző posztban elkészült projekthez adom hozzá a GoogleMaps-os projektomat.

Minden előtt buildeljük a projektunkat.
MCV projektunk modell részéhez adjunk hozzá egy új item-et:
1
Típusa legyen ADO.NET EDM
2
Tovább haladva válasszuk az első-t.
3
Kattintsunk a “New Connection”-ra
4
Az előugró ablakban írjuk be a képen látható server nevét és a database nevét.
5
Ha hibával szállna el: akkor a  szerver nevét az SQL server Object Explorer-ben ellenőrizhetjük:
60
Erre a lépésre nincs szükségünk, ha mindent megcsináltunk az előző poszt alapján, és minden lefutott hiba nélkül.
Ha sikeresen beállítottuk az adatbázis és a szerver nevét OK-ézzuk le az ablakot, ezt kell hogy lássuk:
6
nextre kattintva válasszuk ki a táblázatokat:
7
Finishre kattintva az alábbi eredmény tárul elénk:
8
Eddigi utasításaink az alábbiakat hozta létre a modellben:
9
Most már a kapcsolat is megvan a “külső” adatbázisunk és az az MVC projektünk között.
Most már csak használni kell!

ADO.NET Entity Framework (1)

Hogyan hozzunk létre egy EF adatbázist?
Először telepítsük a package Manager Console-ban:
Install-Package EntityFramework
0
H
ozzunk létre egy új SQL Server Adatbázist:01
Project settings-ben a target platrofmot állítsuk MS azure-ra.
1
Adjunk hozzá egy új táblát:
2
3

T-SQL-ben írjuk meg az sql kódunkat, esetemben:
Én 3db táblát hozok létre ezek így néznek ki:
4
5
végül a két táblát összekötő tábla:
6
Hozzunk létre egy script-et, ami beszúr adatokat a táblában. Ez a script mindig lefordul, ezzel vigyázni kell:
7
Az én scriptem:
8
Futtassuk a projektunkat, végeredmény az előző képen látható kimenet:
build és deploy lefut sikeresen 0 hibával.