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:

Válasszuk az ADO.NET Entity Data Model lehetőséget:

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)

Majd New Connectionra kattintva:
![]()
úgy csatlakozunk az sql szerverhez, ahogy ebben a posztban tettük:

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:

Válasszunk biztonsági szintet: (én a kódba beleírtam a csatlakozási jelszót is,ahogy a képen látszik)

Majd válasszuk ki, melyik táblát szeretnénk importálni:

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:

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:

Author Archives: Tamás Lévai
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:
![]()
Az egyedünk a DbMigration-ból származtatjuk:

Majd parancssorban bekapcsoljuk a migrációt az Enable-Migrations paranccsal:

Hozzáadjuk az AspNetUser táblához az új tudlajdonságunk:

Frissítjük az adatbázist:

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.

Válasszuk ki a Connect to your database fül alatt View SQL connection string-et.

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.

Ide írjuk be az azure-n látott adatokat. Sikeres belépés után a program így néz ki:

Írjuk meg az sql utasításokat. Válasszuk a new query-t a fenti menübűl:

Az én utasításaim így néznek ki:

Hajtsuk végre! (execute parancs)

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:

Nekem már van pár adatbázisom, de ezek lejártak. Hozzunk létre újat.
Kattintsunk bal lent a new ikon-ra.

Válasszuk az SQL_DATABASE link alatt a CUSTOM CREATE fület.

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.

A felugró menüben adjunk meg nevet, régiót és a használni kívánt jelszavat.

Kész is a szerverünk. A listában látszik is:

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.

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:
![]()
Következő a 2 get utasítás:

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:

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:

Weboldal válasza az ezzel az id-vel rendelkező egyed lesz:

Ezek alapján írhatunk a többi utasításra(put,post,delete) példát:



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:

Properties fülön (alul) látjuk az SSL aktuális állapotát:

Duplán kattintsunk rá, ekkor enable-lesz, és a következő üzenetet kapjuk:

elfogadjuk, majd elfogadjuk a következő üzenetet is:

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.

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).

Futtassuk le! (F5)
Nézzük meg a modellben a DataMVCConnection.edmx-et.
Itt még nem frissült a felhasználó tábla.

Klikkeljünk a DataMVCConnection.edmx-re, majd update modell from Database:

Válasszuk ki, azt a táblát, amelyik módosult (akár mindegyiket, esetünkben a felhasználó).

Ekkor megjelenik a jelszó mező is, buildeljük a projektünket:

Jelenlegi á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)

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:

Válasszuk a 2. lehetőséget:

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.

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:

Nézzük meg ezeket interneten. Először gyártsunk hozzá vezető linkeket:

Futtassuk a projektunkat egy böngészőben. (F5) Eredményünk:

Nézzük meg pl. a készülékek listáját:

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:

Típusa legyen ADO.NET EDM

Tovább haladva válasszuk az első-t.

Kattintsunk a “New Connection”-ra

Az előugró ablakban írjuk be a képen látható server nevét és a database nevét.

Ha hibával szállna el: akkor a szerver nevét az SQL server Object Explorer-ben ellenőrizhetjük:

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:

nextre kattintva válasszuk ki a táblázatokat:

Finishre kattintva az alábbi eredmény tárul elénk:

Eddigi utasításaink az alábbiakat hozta létre a modellben:

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

Hozzunk létre egy új SQL Server Adatbázist:
Project settings-ben a target platrofmot állítsuk MS azure-ra.

Adjunk hozzá egy új táblát:


T-SQL-ben írjuk meg az sql kódunkat, esetemben:
Én 3db táblát hozok létre ezek így néznek ki:


végül a két táblát összekötő tábla:

Hozzunk létre egy script-et, ami beszúr adatokat a táblában. Ez a script mindig lefordul, ezzel vigyázni kell:

Az én scriptem:

Futtassuk a projektunkat, végeredmény az előző képen látható kimenet:
build és deploy lefut sikeresen 0 hibával.