webForumDet fria alternativet

Kan man koda såhär i C#?

.NET

27 svar · 2 103 visningar · startad av CatZ · sida 2 av 2

Frågan, av CatZ

Jag håller på att lär om, lär rätt (har gett mig på C#) och behöver lite synpunkter på en funktion jag konverterat från visual basic. public OleDbDataReader DbReader(String mySql) { OleDbConnection objConn = new OleDbConnection(); OleDbCommand objCmd = new OleDbCommand(); OleDbDataReader objReader; try { objConn = OleDbConnection(objConn); objConn.Open();

Läs frågan i sin helhet →
Medlem sedan maj 20012 812 inlägg
#21

nickemannen skrev:

Jag tycker du skall ta dig en titt på NHibernate eller NPersist.

Glöm inte bort MS EntityFramework, som kommer bli bra när de väl fattat att en objektmodell inte måste exakt likadan ut som sin databasmodell. Det har tagit lite tid för dem att förstå det, men med EntityFramework så verkar det som de äntligen förstått att ett objekt inte återspeglar en tabell. Och när det sedan kommit med verktyg för att mappa ihop sin objektmodell med sin databasmodell så blir det bra, en klar utmannar till de flesta ORMappers som helt enkelt kommer leva en mer undanskymd tillvara vare sig man vill eller ej....

- M

Medlem sedan jan. 20022 440 inlägg
#22

Men om man arbetar på det viset i mindre projekt tar det ju längre tid att utveckla..

Vad är då fördelarna?

Jag kanske behöver läsa på om objekt orienterad programmering... Tycker EntityFramework känns bättre än NHibernate.

Har försökt läsa mig till någon mer nytta än extra saker att lära sig men hittar inte så mycket. Man får lättare att läsa in data, stänga kopplingen mot databasen och har sedan ett helt ramverk att manipulera datan med, är det så?

Medlem sedan dec. 2005664 inlägg
#23

Läsa in data är väl det primära. Man kan t ex ha en klass med properties som mappas mot olika datakällor. T ex kan klassen Car med property Wheel hämtas från en xml fil, Window från en databas etc etc.

Medlem sedan maj 20012 812 inlägg
#24

catz skrev:

Men om man arbetar på det viset i mindre projekt tar det ju längre tid att utveckla..

Visst tar det längre tid att programmera enligt OO modellen istället för MS "klicka - gissa - spring" variant. Speciellt om du pratar mindre projekt, en enkel hemsida, en enkel applikation. Men många större projekt börjar som små och växer sig sedan större hela tiden, man kommer på ny funktioner, bättre lösningar, måste optimera för prestanda/skalbarhet osv osv..

Det är därför (oftast) bättre att göra rätt från början, så du inte står där efter 1 år och inser att du grävt ner dig i en återvändsgränd och enda sättet att fortsätta utveckla projektet är att börja om från början för man valt den enkla/snabba vägen istället för en som har större möjligheter att underhållas och utvecklas...

- M

Medlem sedan aug. 20003 575 inlägg
#25

Gladh skrev:

nickemannen skrev:

Jag tycker du skall ta dig en titt på NHibernate eller NPersist.

Glöm inte bort MS EntityFramework, som kommer bli bra när de väl fattat att en objektmodell inte måste exakt likadan ut som sin databasmodell. Det har tagit lite tid för dem att förstå det, men med EntityFramework så verkar det som de äntligen förstått att ett objekt inte återspeglar en tabell. Och när det sedan kommit med verktyg för att mappa ihop sin objektmodell med sin databasmodell så blir det bra, en klar utmannar till de flesta ORMappers som helt enkelt kommer leva en mer undanskymd tillvara vare sig man vill eller ej....

- M

Jag tycker EntityFramework verkar helt okej, tråkigt nog är det POCO :(, samt att jag anser att NHibernate är mer än bara en OR/Mapper så jag tycker fortfarande NHibernate är större och bättre men det är ju en smaksak.

Medlem sedan maj 20012 812 inlägg
#26

nickemannen skrev:

Jag tycker EntityFramework verkar helt okej

Det blir nog bra, just nu är det bara en sörja... de grafiska verktygen är alldeles för dåliga till den extremt komplexa mappningsmodell som MS valt.

nickemanne skrev:

tråkigt nog är det POCO ,

Tråkigt? (och du menade nog INTE POCO) Det är för bedrövligt, det går ju att lösa, men frågan är om MS är intresserade att välja en annan väg, det är mycket lättare att tvinga dig på ett interface eller ett arv, än att lösa det så att man kan ta vilka objekt som helst och handskas med dem...

- M

Medlem sedan jan. 20022 440 inlägg
#27

Det här var nog för mig den bästa tråden i webforums historia. Jag insåg att det är så pass mycket som skiljer C# från andra spåk att jag börjar om från början.

NHibernate verkar guld precis som Entity Framework förhoppningsvis kommer bli. Jag gillar att släppa kopplingen till data basen omgående och använda ha datan att arbeta med tills man behöver spara / hämta igen.

Just nu så går jag igenom saker väldigt grundligt i C# och kommer titta på någon OR Mapper innan jag sätter igång och bygger min första ASP.NET sida i C#.

Du har helt rätt Gladh när du skriver att man gärna vill bygga vidare. Jag är väl lite ivrig antar jag. Jag har några riktigt stora projekt på gång dessutom så om man lär sig att använda någon OR mapper i de mindre projekten kan jag säkert återanvända en del eller snabba upp utvecklingen av de lite större projekten sedan.

Jag får tacka allihop för en riktigt bra "koda rätt" diskussion i den här tråden det har hjälpt mig väldigt mycket att komma på rätt spår.

Medlem sedan apr. 20007 588 inlägg
#28

CatZ skrev:

Jag insåg att det är så pass mycket som skiljer C# från andra spåk att jag börjar om från början.

C# skiljer sig inte nämnvärt från andra moderna objektorienterade språk, åtminstone inte i dessa frågor. Exceptions-hantering och skiktade lager är inget unikt.

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)