Kezdőoldal » Számítástechnika » Programozás » EntityFramework segítséget...

EntityFramework segítséget kérhetek?

Figyelt kérdés
Visual Studio 2010 alatt próbáltam kiépíteni a codefirst-ös adatbázisomat, és nem sikerült, mert állandóan meghalt connectionString hibaüzenettel. Most feltettem a 2012-es visual studiot, és ugyanúgy nem jön létre semmilyen tábla az adatbázisomban, de még csak hibaüzenetet sem kapok, egyszerűen lefut a kód és kész. Be kell valahol állítani külön a hibaüzenetek megjelenítését? Vagy más probléma van?

2014. jan. 11. 10:53
1 2
 1/11 anonim ***** válasza:
Semmi hibaüzenet, pl egy SaveChanges lefut kivétel nélkül? Mert akkor megcsinálta az adatbázist, minden működik. Max rossz helyen keresed.
2014. jan. 11. 12:11
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
igen a save is lefutott. Default-ból a localba kellene tennie, de totál üresen hagyja. Ezer százalék hogy akkor létrejött? Nincs valami hasonló hiba amivel más találkozott? Ha nincs akkor tovább kutatok. Köszi.
2014. jan. 11. 14:32
 3/11 A kérdező kommentje:
az a baj, hogy amikor idióta connectionstringet adok meg neki, akkor is lefut ugyanígy, azért gyanús a dolog....
2014. jan. 11. 14:32
 4/11 anonim ***** válasza:
Fel tudod rakni valahova a configodat + a codefirst modelt?
2014. jan. 11. 15:03
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

Ehhez próbálj csatlakozni management studioval:

(localdb)\v11.0

Ebben sincs benne a DB-d?

2014. jan. 11. 15:05
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:

DE DE BENNE VAN! Hihetetlen! Mi a különbség eközött, meg a "." vagy a "(local)" között? Ezt az Entitiframework hozza létre, vagy mi?


Köszönöm szépen mindenkinek aki segített!

2014. jan. 11. 15:24
 7/11 anonim ***** válasza:

Úgy látom, csak én válaszoltam eddig. Szívesen.

Ez az úgynevezett LocalDB. Ez egy teljesen másik adatbázis szerver. VS2012-től ez az alapértelmezett. Az EF6.x is ebbe próbálja meg alapértelmezetten létrehozni az adatbázist.

A . és (local) pedig ugyanaz. (Azaz pl a .\SQLEXPRESS ugyanaz, mint a (local)\SQLEXPRESS)


Itt olvashatsz róla, vagy a googleön :)

[link]


Egyébként ha van megadva nálad connectionstring, de mégsem oda jön létre az adatbázis, akkor valamiért azt nem találja meg. A connectionstring neve ugyanaz kell legyen, mint a contexted neve. Vagy a context létrehozásakor kell megadni a nevet, ha más lenne.

2014. jan. 11. 17:47
Hasznos számodra ez a válasz?
 8/11 A kérdező kommentje:

Vao, a context névvel volt gond, ezt se tudtam, köszönöm szépen. Végre elkezdhetem rendesen a tutorialt!


Esetleg nem ismersz magyar dokumentációt a témában? Nem létfeltét, csak mégis jobb lenne :)

2014. jan. 11. 18:51
 9/11 A kérdező kommentje:

Még egy gyors kérdés, ha már így szóval tartottalak :)

Nem értem pontosan, hogy mikor jön létre az adatbázis (meg a táblák benne). Itt a kódom:


using (var ctx = new Context3())

{

Student stud = new Student() { StudentName = "New Student" };

ctx.Students.Add(stud);

ctx.SaveChanges();

}


Amikor beledebuggoltam azt láttam, hogy a ctx.Students.Add(stud); sornál amikor ez lefutott, létrejön az adatbázis (és nem a savechanges-nél). De mi van ha én azt szeretném, hogy ki van építve rendesen az objektumhierarchiám, és csak létre akarom hozni az adatbázist? Gondolom valamit be lehet írni a studio command window-jába, nem hiszem hogy az az egyetlen út az adatbázis létrehozáshoz, ha megfuttatok egy kódot, amiben hozzáadok egy entitást.


A segítséget utólag is és előre is köszönöm!

2014. jan. 11. 19:01
 10/11 anonim ***** válasza:

Magyar dokumentációt sajna nem ismerek. Egyébként nem kell beszúrni adatot, pl. ha egy sima selectet (firstordefault egy "táblán") hívsz, akkor is létrejön a db. Tehát mielőtt bármi adatbázisműveletet végezne ellenőrzi, hogy létezik-e a tábla.

Vagy a context.Database.CreateIfNotExists(); is valószínűleg létrehozza (a nevéből adódóan, bár sosem próbáltam)

Egyébként mért gond, ha első tényleges használatkor jön csak létre? Ez az automatikus létrehozás csak a fejlesztőnek könnyebbség, éles rendszereken egyébként is az adatbázis már adott szokott lenni, és az alkalmazásnak általában nincs is schmea módosító joga.

2014. jan. 12. 10:52
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!