Hej, Använd myGeneration http://www.mygenerationsoftware.com så kan du rätt enkelt skapa egna mallar för hur du vill att koden ska skapas. Följer med en del exempelfiler man kan kika på så kan man snabbt anpassa dem till att passa ens egna kodning. Är alltid fassinerad av folk som inte bygger klasser och gör en db utifrån sin klassmodell. Därför att man med en väl genombearbetad databasmodell kan bygga flera typer av applikationer på samma grund (?) - eller en stabil grund som man kan bygga flera våningar på. Våningarna kan se olika ut men måste visserligen till stor del hålla sig till grunden, men inte nödvändigtvis. Från våning X kan man vi ett senare tillfälle bygga en glasgång (webservice) över till an annan byggnad. fast allt det där du säger går ju applicera på ORM också. >Därför att man med en väl genombearbetad databasmodell kan bygga flera typer av applikationer Att automatiskt skapa sp:s för tabellerna i databasen är enkelt, det finns inbyggt i MS SQL Enterprise manager. Hej Hej, Måste säga att jag är både för och emot kodgeneratorer, med en kodgenerator så tycker jag att man inte får underhållningsbar kod. Klasserna delas inte upp generellt arv, inte på dom jag har sett iallfall. Det blir ju inte bättre än vad man gör det... om man utvecklar sina egna mallar så får man ju den kod man förtjänar... dvs man kan kodgenerera OCH dra nytta av OOP-mekanismer som t.ex. arv och samtidigt få kod som går att underhålla. Om man tänker igenom vad man gör innan man klickar på knappen. Om man däremot använder ett färdigt ramverk som skapar stora mängder kod som man inte har kontroll över, då tror jag att man kommer få problem förr eller senare. Vi använder kodgen delvis, men aldrig för allt.. HejKodgenerator
Jag söker en väldigt enkel kodgenerator som kan skapa .net (C#) object utifrån en tabell i en MS Sql server.
Letar även efter något som automatiskt kan skapa sp's i databasen för select,insert, update, delete.
Jag har kollat runt en del men hittar bara väldigt avancerade verktyg. Är tacksam för tips och artiklar.Sv: Kodgenerator
Sv:Kodgenerator
Utan tvärt om... OR Mapper FTW ;-)
Tänk så här när man bygger ett hus anpassar man ju grunden (dbn) utifrån vad man har
för funktioner och vart man har sina rum och vilka verktyg man har i rummen.
Att bygga datasysem år samma håll ger mkt trevligare OO, Struktur m.m.
Lite jobbigt att alltid behöva va bunden till grunden och sedan försöka bygga köket med
work arrounds för att man lät grunden bestämma huset (applikationen) och inte tvärt om.Sv: Kodgenerator
Sv:Kodgenerator
det är ju bara att se din domänmodell som grunden.
Enda tillfället där ORM är riktigt dåligt är när man behöver göra batch jobb (insert/update/deletes)
eller rapporter som behöver aggregera data på ett sätt som kanske inte stämmer med själva domänmodellen.
Dessutom blir ju ofta databasmodellen väldigt bra om man skapar den via de felsta mappingverktyg som finns.
Och blir den inte det så beror det nog på att man fuskat lite i sin domänmodell.
men generellt sett så får du en helt korrekt och normaliserad db modell även med ORM.Sv:Kodgenerator
Hum... ok. Men att ha färdiga paket i domänmodell och goda affärsrutiner m.m. bör väl vara mer
användbart än en DB som man i ofs om man går åt det mer "real world conceptet" även kan
använda för andra applikationer. Jag kan nog to m lova att DBn som härstammar från
sin domänmodell to m blir mer användbar i andra applikationer då man även har sin domänmodell med sig. Dvs mindre specialanpassningar m.m då man redan har både DB grund och ett bra paket som man kan återanvända i sitt applikationslager för sin andra applikation m.m.
För kan man inte använda koden utan bara dbn för de applikationer du syftar på så har man verkligen
tänkt och byggt fel vilket bara genererar massa utvecklingstid helt i onödan...
Det är ju lite jobbigt att i App två ha badrummet där köket är i app ett och köket där badrummet var.
Kablarna i grunden går ju inte riktigt som de skall då. klart lite workarroundkod (spagetti) kan ju lösa de mesta... Hum... Sv: Kodgenerator
Det är kanske inte det allra mest avancerade verktyget, men det har fungerat utmärkt för mig.
Tools -> Wizards... -> Database -> Create Stored Procedure Wizard
Sen kan du skapa inserts osv och endast köra Preview.. och sedan klippa-och-klistra in scriptet till var du vill ha det.Sv: Kodgenerator
Jag tycker absolut du skall titta på CodeSmith. Det finns färdiga mallar som gör precis det du vill och du är igång på 10 minuter. Personligen skulle jag också titta på NVelocity som är en template engine som fungerar riktigt bra å det är väldigt lätt att skapa egna templates som du sedan kan generera kod utifrån.
http://www.castleproject.org/others/nvelocity/index.htmlSv: Kodgenerator
Tack för alla tips, ska genast kolla upp dom.
Johan, har du några förslag på verktyg som gör det åt andra hållet, klassmodell som genererar db, sp och C#.
/TomasSv:Kodgenerator
Jag tycker inte att det blir en ordentligt objektbaserad approach när man använder sig av en kodgenerator.
Däremot får man kod fort med en generator men jag skylle aldrig använda en generator för ett större projekt där applikationen skall leva ett antal år.Sv: Kodgenerator
Sv:Kodgenerator
NHibernate (www.nhibernate.org) klarar av att skapa en databasmodell utifrån existerande klassmodell men inte utifrån exempelvis UML. (det kräver dock att du skriver mappningen) Det skall finnas någon plugin till Enterprise Architect som fixar detta men har aldrig kikat på den Är du intresserad så kika i deras forum, NH's har också en del intressanta diskussioner i ämnet.
Men för att skapa tabeller utifrån klassmodell så fungerar NHibernate alldeles utmärkt. Tycker du NH är bökigt så kanske det är lämpligt att kika på activerecord från www.castleproject.org.