2009-06-08 2 views
0

Ich habe mit GenWise und CodeSmith experimentiert. Ich suche ein Tool, das wird:GenWise: Round-Trip-Code-Generierung für nHibernate

a) lassen Sie mich das Datenschema in SQL Server SSMS

b bearbeiten) erzeugen alle C# Objekte, xml usw. aus der Datenbank

c) haben viele der Kontrolle über das genierte XML und C#

d) das "Richtige" bei der Codeerstellung machen, damit ich das Tool iterativ verwenden kann. dh Round-Trip-Code-Generierung, nicht nur ein- oder zweimal generieren und dann aufgeben, wenn ich manuelle Änderungen vornehmen muss.

e) Ich möchte keine Lösung, die rückwärts geht: schreibe C# mit Anmerkungen und erzeuge das DB-Schema. Das IMO saugt und schraubt Sie, wenn Sie das Schema fein abstimmen müssen. DB-Code sollte aus dem DB-Schema nach oben, nicht nach unten codieren.

Ich muss sagen, es scheint, die GenWise macht all dies. Hat jemand es für eine längere Zeitperiode benutzt, indem es Änderungen im DB-Schema iteriert und Code neu generiert hat, während es auch die Geschäftsobjekte/Logik im Code angepasst hat?

Antwort

0

Ich habe Template-basierte Tools wie CodeSmith oder MyGeneration verwendet und ich habe auch Tools wie LLBGen verwendet, die ich ähnlich wie GenWise finde, obwohl ich dieses selbst nie benutzt habe.

Persönlich bevorzuge ich Template-basierte Tools. IMHO geben Sie viel mehr Kontrolle und die Möglichkeit, Ihren generierten Code zu optimieren. Mit Tools wie LLBgen ist meine Erfahrung ein wenig eingeschränkter, aber mir gefiel die Tatsache nicht, dass ich den generierten Code nicht verstanden habe, bevor ich generiere. Tools wie LLBGen werden die Aufgabe schneller erledigen, aber wenn Sie ein Kontrollfreak sind und wissen wollen, was der generierte Code macht, müssen Sie den generierten Code durchgehen und verstehen, wie er funktioniert.

Btw vor ein paar Jahren von diesem Ansatz zu Domain-Driven Design bewegt, ich habe ich finde, aber in einigen Fällen immer noch, dass Erzeugungs Code aus der DB eine bessere Lösung ist.