[ wex-alpha @ 21.07.2011. 12:45 ] @
Napravio sam aplikaciju koja koristi Servisnu bazu (*.sdf). Napravio sam kardinalnu gresku na pocetku!!! Nisam uzeo u obzir raspolozivost aplikacije.

Naime da bi aplikacija radila, potrebno je instalirati SQL server na host masinu. Dodatno koristeni framework. Dakle milion stvari za instalirati da bi aplikacija proradila.
Kao dodatan problem, imam dosta LINQ-a

Rijesenje je da koristim SQLCE (Compact Edition). Kako zamijeniti samu bazu????

Napravio sam istu bazu koristeci SQLCE, dakle *.sdf ekstenzija.

Koristio sam SQLMetal (postoji i UI verzija - http://sqlmetalosui.codeplex.com/releases/view/16987), alat koji se nalazi u: drive:\Program Files\Microsoft SDKs\Windows\vn.nn\bin.

Znaci, cmd prompt i kucajte sljedecu liniju: SqlMetal imevasebaze.sdf /dbml:imevasebaze.dbml
prije SqlMetal komande, potrebno je iskopirati vasubazu*.sdf na mjesto gdje se nalazi SqlMetal.exe.

Nakon sto se komanda izvrsi, dobit cete imavasebaze.dbml fajl.
Taj fajl jednostavno dodajte u vas projekat i to je to.

Nacin na koji sam koristio dbml fajl u projektu je sljedeci:

string konekcija = @"Data Source = |DataDirectory|\imevasebaze.sdf";
imevasebaze bazica = new imevasebaze(konekcija);

var artikli = from p in bazica.Prodaja //uzmi sve iz tabele artikli i stavi u varijablu artikli
where p.Barcode == ccBarCode.Text //odaberi onaj artikal koji ima barcode iz comboboxa
select p;


Ovo je prvi put u zivotu da sam na hiruski nacin odstranio jednu tehnologiju i zamijenio je sa drugom a da proradi iz prve!!! Nevjerovatno :)

Mozda ce nekome biti od koristi :)