Diskuze: Práce s DB
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 18 zpráv z 18.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
S tímhle jsem sice nikdy nepracoval, ale není ta databáze závislá na běhu služby? To znamená, že když zastavíš službu, tak se databáze vymaže?
Zkus u toho .mdf souboru ve vlastnostech nastavit místo "Copy Always" nastavit "Copy if newer"
Já ti asi neporadím, ale zkus se prolouskat tímhle:
http://stackoverflow.com/…database-mdf
http://stackoverflow.com/…010-ultimate
řeší stejný problém co ty.
2012 už nemám, ale myslím, že to je očekáváné chování. Pokud mám projekt typu databáze, tedy projekt ve kterém se databáze namodeluje a slouží jako vstup k jinému projektu, tak mi není s podivem, že dostaneš výslednou databázi vždy v nějakém výchozím stavu.
Ten výsledek si nakopíruj do jiného projektu a pak už ti ji nic nepřelízne. Jestli se ti tam tvoří nejaký databázový kontext, tak ty mývají nějaké inicializery k nahrání výchozích dat.
Já opravdu netuším jak tu solution máš udělanou. Prostě si udělej samotnej jinej projekt bez toho databázovýho, k němu tu databázi nakopíruj.
jde o to ze ty mas svuj projekt PROJEKT ve kterem mas soubor databaze data.mdf. jakmile stisknes tlacitko run (debug/release) tak se tento soubor nakopiruje do slozky release/debug a nad touto kopii jsou provadeny operace ktere zadavas v tom svem programu. to znamena ze ty data existuji v souboru debug/data.mdf.
pokud chces databazi jednou naplnit nejakymi uvodnimy data, tak ji spust napln a pak prekopiruj z PROJEKT/debug/data.mdf do PROJEKT/data.mdf.
pokud chces, aby se konstantne prlnila tak dalsi moznost je zmenit connection
string z
AttachDbFilename=|DataDirectory|\DB.mdf ne
AttachDbFilename=C:\user\dokumenty\pepa\visualstudi\PROJEKT\DB.mdf
este sou dalsi moznosti ale ty uz nebudu psat protoze sou komplikovane na
vysvetleni.
vyzkoušej aplikaci spustit ze složky debug kde je její exe, ne z Visual Studia.
zmenit connection string z puvodniho relativniho
AttachDbFilename=|DataDirectory|\DB.mdf
na absolutni cestu ktera vede jen do slozky projektu
AttachDbFilename=C:\user\dokumenty\pepa\visualstudi\PROJEKT\DB.mdf
pri finalnim nasazeni aplikace se to pak zmeni zase na ten relativni.
cooo?
zarazi me, ze nekdo povazuje za slozite vymenit jeden radek kodu presneji je
to
#if DEBUG
string cstring ="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DB.mdf;Integrated Security=True"
#else
string cstring ="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\nekde\kde\je\PROJEKT\DB.mdf;Integrated Security=True"
#endif
a chce to vymenit za "nejakeho klienta"? co je to pojem nejaky klient? a proc
je slozite vymenit jeden radek kodu
Tak se celé vlákno změní s učební lekci pro testera.
+-
#if DEBUG
string cstring ="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DB.mdf;Integrated Security=True"
#else
sting cesta=Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
string cstring ="Data Source=(LocalDB)\v11.0;AttachDbFilename="+cesta+"\DB.mdf;Integrated Security=True"
#endif
Zobrazeno 18 zpráv z 18.