Trebam napraviti desktop aplikaciju pa me interesira dal za nju koristiti sdf ili mdf bazu, a interesira me i koje su prednosti i mane jedne i druge varijante.
- +/- sve poruke
- ravni prikaz
- starije poruke gore
ti normalno kreiraj bazu u sql serveru (i dobiješ mdf). i to je to.
Što je bolje, mdf bazu kod izrade aplikacije sa kojom ju spajam ostaviti u folderu od servera (MSSQL) ili ju prekopirati u lokalni folder od programa ?
Kako je bolje/sigurnije/kvalitetnije raditi aplikaciju, da bude stalno spojena na bazu ili da se spaja prema potrebi (rad u konektiranom ili diskonektiranom okruženju)?
Što je u Visual Studiu (u pitanju su WinForme) kod stvaranja aplikacija bolje koristiti za manipulaciju bazom , Dataset ili Entity Data Model?
Što je bolje, mdf bazu kod izrade aplikacije sa kojom ju spajam ostaviti u folderu od servera (MSSQL) ili ju prekopirati u lokalni folder od programa ?
Kako je bolje/sigurnije/kvalitetnije raditi aplikaciju, da bude stalno spojena na bazu ili da se spaja prema potrebi (rad u konektiranom ili diskonektiranom okruženju)?
Što je u Visual Studiu (u pitanju su WinForme) kod stvaranja aplikacija bolje koristiti za manipulaciju bazom , Dataset ili Entity Data Model?
Najbolje je imati mdf file na jednom disku (baš disku a ne particiji), ldf na drugom a tempdb na trećem. Ali ako radiš na nekom malom projektiću onda ti je svejedno i ostavi onako kako je sql sam to posložio. Realno potrebe za premještanjem samih datoteka imaš samo u slučaju da se radi o velikim bazama sa kojima se intenzivno radi pa se tako dobiju bolje performanse.
Moja preporuka ti je da koristiš Linq2Sql i nećeš morati brinuti o masi stvari...
DataSet mi na prvi pogled izgleda najjednostavnije, Entity Data Model je kao najbolji (i najkompliciraniji), a Linq2Sql je negdje između pa te molim da mi malo pojasniš stvari oko Linq2Sql-a.
Dataset nije najjednostavniji.
LINQ2SQL (ili entity) sa lambdama stede ogromnu kolicinu vremena, jednostavno, brzo... u svakom slucaju way to go.
S obzirom da popunjavanje formi kod Linq2Sqla ide malo drukčije nego kod DataSeta jel ovo Ok ?
namespace Proba_Ling2SQL
{
public partial class UnosKnjiga : Form
{
private Linq2SQLDataContext db = new Linq2SQLDataContext(); //*DataContext dodajemo kao lokalnu varijablu da možemo kasnije popuniti formu podacima iza tabele
public UnosKnjiga()
{
InitializeComponent();
}
private void UnosKnjiga_Load(object sender, EventArgs e)
{
this.knjigaBindingSource.DataSource = db.Knjigas; //Time punimo formu podacima iza tabele Knjiga
}
}
}
Da
Pronjuškaj malo po lambda expression-ima, zaljubit ćeš se do ušiju...
Samo popunjavanje je isto, razlika je što ne moraš brinuti o nekim stvarima o kojima moraš sa datasetom. Npr, da imaš nekakav dataset popunjavanje bindingsource-a bi bilo ovako:
this.knjigaBindingSource.DataSource=NekakavDataSet.Tables[0];
Stvar je u dohvatu podataka. Sa Linq2Sql-om sve napraviš u jednoj vrlo jednostavnoj i jasnoj liniji koda.
Inače, moja preporuka ti je da instanciraš datacontext unutar UnosKnjiga_Load metode.
Jedno pitanje o MSSQL Data type-u.
Jel dobro/potrebno koristiti Unicode Data type (npr nvarchar umjesto varchar...) ili nema potrebe za tim ?
Za nasa slova koristi nvarchar (UTF8).
Radit će ti naša slova i sa varchar ali sa nvarchar si sigurniji (iako zauzima duplo mjesta). Samo nemoj pretjerivati sa veličinama fieldova kod dizajna baze jer ti se baza lako može fragmentirati zbog varijabilne duljine fieldova...
Radit će ti naša slova i sa varchar ali sa nvarchar si sigurniji (iako zauzima duplo mjesta). Samo nemoj pretjerivati sa veličinama fieldova kod dizajna baze jer ti se baza lako može fragmentirati zbog varijabilne duljine fieldova...
Mislim da mu ipak nece biti toliko mission critical :)
Radit će ti naša slova i sa varchar ali sa nvarchar si sigurniji (iako zauzima duplo mjesta). Samo nemoj pretjerivati sa veličinama fieldova kod dizajna baze jer ti se baza lako može fragmentirati zbog varijabilne duljine fieldova...
Mislim da mu ipak nece biti toliko mission critical :)
Sorry, profesionalna deformacija
Jedno malo pitanje oko Entity Frameworka (data entity)...
Kad pokušavam u prog ubaciti Entity framework isti mi javlja grešku, imam relaciju između dvije tabele napravljenu pomoću uniq keya i to mu izgleda ne paše.
Ista stvar najnormalnije prolazi u DataSetu i Linq2Sqlu.
Jbg, ja ne znam. Koristim samo ADO.NET i Linq2SQL...
Takodjer...
Takodjer...
LOL, našli se pomagat čovjeku
Mislio sam da ja jedini u svemiru ne koristim EF... Ovi iz firme me već gledaju kao da nisam normalan!
Takodjer...
LOL, našli se pomagat čovjeku
Mislio sam da ja jedini u svemiru ne koristim EF... Ovi iz firme me već gledaju kao da nisam normalan!
Nemam potrebu. Sustav kojeg sam pisao je u LINQ i neda mi se sad izmisljati toplu vodu kad ovo radi.
Još da ima inheritance riješen kako spada... uh!
Za moje potrebe je vise nego dovoljan. Imam bazu sa stotinjak tabela. Nemam m:m relacije (iako za to postoji workaround). Jednostavno. Brzo.
Btw i za inheritance mozes odradit workaround, odnosno malo drugacije slozit bazu. Jbg.
Mi imamo bazu sa nešto više od 400 tablica i za 95% stvari koristimo linq. Onih 5 % je bulk obrada hrpetine podataka za koju koristimo čisti ADO...
Inače, moja preporuka ti je da instanciraš datacontext unutar UnosKnjiga_Load metode.
Ovako kako sam napravio mi je ispalo jednostavnije, izbjegao sam pisanje iste stvari na više mjesta (Add, update, save gumbi...)
Jedno malo pitanje iz naslova teme, jel sam rad sa sdf bazom isti kao i sa mdf (mislim tu na sam način programiranja) ili je nešto drugačije ?
Inače, moja preporuka ti je da instanciraš datacontext unutar UnosKnjiga_Load metode.
Ovako kako sam napravio mi je ispalo jednostavnije, izbjegao sam pisanje iste stvari na više mjesta (Add, update, save gumbi...)
Jedno malo pitanje iz naslova teme, jel sam rad sa sdf bazom isti kao i sa mdf (mislim tu na sam način programiranja) ili je nešto drugačije ?
Ne znam ali mislim da linq ne radi sa sdf bazama. Uvijek koristim "punokrvni" SQL pa ti tu ne mogu baš pomoći...