webForumDet fria alternativet

O/R-mapping eller?

.NET

7 svar · 656 visningar · startad av antipentA

Medlem sedan maj 2006296 inlägg
Frågan#1

Jag har programmerat en sida i asp 3 innan. Nu tänkte jag att det kunde vara dags att göra om den i asp.net 2.0 istället. Jag tänkte dock ändra en hel del, och vill ha den "rätt" från början. Därför frågar jag er som kan lite mer:

Det rör sig om en hyfsat omfattande sida med en access-databas (för att det är vad hostingen har stöd för).

Hur bör jag göra för att maximera återanvändbarhet och för att förenkla underhållsarbete (programmeringsmässigt) så mycket som möjligt?

Finns det något bra sätt att fixa O/R-mapping automatiskt? Inbyggt i visual studio / .net 2.0 eller måste jag använda något externt för det?

Bör jag använda sånt som är inbyggt i .net (data reader, grids, datasets etc) eller finns det bättre alternativ? Jag vet att det i .net 1 inte var speciellt kul att använda de inbyggda grejerna, men har ingen koll på om de har ändrat något med dem i 2.0.

Alla synpunkter mottages tacksamt!

Medlem sedan feb. 20001 590 inlägg
#2

Har haft ungefär samma problem. Men efter några timmar med Visual Studio Express, så har en del löst sig...

Rent allmänt så använder jag klasser när det finns en uppenbar fördel att ha detta, tex varukorg, användarhantering osv. Inmatning av data kör jag med formulär och codebehind. Datapresentation med inbyggda funktioner typ datagrid, osv.

Grejen är att de fördefinierade dataobjekten i Visual Studio är kraftfulla, men man måste laborera med dom för att förstå dom fullt ut. Rent allmänt så är min erfarenhet att ska man presentera data så funkar dessa inbyggda dataobjekt mycket bra, men för att hantera indata så är det mycket codebehind som gäller.

Visual Studio Express har imponerat stort på mig, jämfört med tidigare utvecklingsmiljöer.

Medlem sedan maj 2006296 inlägg
#3

Jag har programmerat lite Ruby on Rails i skolprojekt den här terminen, och har vant mig vid smidigheten med ActiveRecord (ORM). Det är rätt intressant med monorail och activerecord för .net 2.0:

http://www.castleproject.org/

Jag tror att jag ska kolla upp det lite närmare.

Medlem sedan dec. 19996 522 inlägg
#4

nhibernate börjar ta sig, https://www.hibernate.org, lite hög tröskel i början men när man väl förstått hur nhibernate "tänker" ser sig det mesta man varit förbannad på under inlärningskurvan rätt naturligt, som vanligt ;) Annars om du bara vill ha ett dal eller liknande kan du kolla in enterprise library och dess data application block från killarna (och tjejerna?) bakom .net ramverket. Du klarar dig väldigt långt med de inbyggda kontrollerna för presentera data, passar inte de bygger du exempelvis en egen kompositkontroll. Vill du lattja med Ajax kan du ju testa Atlas som kommit i en lite stabilare version (men ingen final)

Medlem sedan maj 2006296 inlägg
#5

nhibernate kollade jag på. Det verkar vara precis vad jag vill ha, men jag fattar inte riktigt hur man använder det än. Det torde funka på samma sätt kodmässigt som activerecord för rails, så DEN biten har jag inga problem med... det som är problemet är hur man använder det med visual studio.

Atlas tänker jag definitivt använda. Har kollat in deras demovideos, verkar smidigt. Annars skriver jag egna ajax-grejer om Atlas inte räcker till.

Medlem sedan dec. 200471 inlägg
#6

Jag rekommenderar också NHibernate. Vill du lära dig det relativt snabbt och se hur det fungerar i praktiken så kolla in http://www.cuyahoga-project.org/ . Lärde mig NHibernate (övergripande) hyffsat snabbt genom att ha den som referens när jag kodade. Väntar bara på generics-stödet i NHibernate nu, sen kommer NHibernate att vara om än mer underbart att ha att göra med.

Castle ActiveRecord låter intressant, mycket intressant. Blir allt att testa det.

Iaf, summa summarum. Använd NHibernate och log4net(http://logging.apache.org/log4net/) tillsammans med en schysst ddd (Domain Driven Design) och n-tier arkitektur.

Vill du läsa på lite om ddd så kolla in "Domain-Driven Design: Tackling Complexity in the Heart of Software" (http://www.flazx.com/ebook4007.php) eller "Applying Domain-Driven Design and Patterns : With Examples in C# and .NET" om du kan få tag på den.

Lite ot:
Så O/R-mapping finns till rails med? Har planer på att lära mig lite ror nu under sommaren och just möjligheterna till o/r-mapping är det första jag kom att fundera över.

Medlem sedan dec. 19996 522 inlägg
#7

Applying Domain-Driven Design and Patterns är rätt intressant faktiskt, bra läsning.

Medlem sedan maj 2006296 inlägg
#8

Det var precis sådana kommentarer och tips jag ville ha!
Tack allihop! (jag tar gärna emot fler synpunkter och kommentarer, naturligtvis)

Angående Rails så ÄR det i princip ORM. ActiveRecord är vad rails bygger på från början.
Det har stora likheter med NHibernate. Kolla in Castle för .NET. Det ger en bas som liknar den i Rails. Det innehåller logging också, men jag har som sagt inte kommit igång med det riktigt än.

Ska leta efter böckerna jag fick tips om.

Boktips om Rails:

Agile web development with rails - 2 ed (finns bara som beta än, men köper man den som pdf så får man alla uppgraderingar av den, inkl fullversionen när den kommer)
http://www.pragmaticprogrammer.com/titles/rails2/index.html

Rails Recipes
http://www.pragmaticprogrammer.com/titles/fr_rr/index.html

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)