2009-05-24 5 views
0

Ich würde Ihren Rat zu einer seltsamen Spezifikation sehr schätzen.Gibt es ein ORM, das dynamisch eine DAL aus einer .Net WinForms App generieren kann?

Wir müssen eine Anwendung erstellen, in der Benutzer Feldtypen per Drag & Drop auf ein Formular ziehen können, damit sie ihre eigene "App" erstellen können. Ich habe das Front-End-Setup, aber das Back-End ist ein großes Problem.

Es gibt Vorwärts-Mapping-ORMs und Reverse-Mapping-ORMs, aber ich habe keins gefunden, das innerhalb der Anwendung einbetten und die Tabellen, Beziehungen usw. generieren kann, wenn der Benutzer die App startet. Wenn eine Tabelle, ein Feld oder eine andere Entität bereits existiert, würde sie diese natürlich nicht überschreiben (und die zugrunde liegenden Daten überschreiben).

ActiveRecord ist die nächste, die ich gefunden habe, aber es ist webbasiert und erstreckt sich nicht auf eine WinForm-Umgebung. Ich würde es daher bevorzugen, wenn unsere Crew nicht unsere eigene DAL schreiben, sie debuggen usw., wenn es dort ein ORM gibt, das das kann.

Kennt jemand eine ORM, die das tun kann? Wenn nicht, wie würdest du diesen Albtraum lösen?

Vielen Dank für Ihre Hilfe.

Antwort

0

Obwohl Sie sich eine Lösung für dieses Problem mit ORM vorstellen können, denke ich nicht, dass dies eine gute Idee ist: Diese Tools wurden entwickelt, um eine andere Klasse von Problemen zu lösen. Die einzige Möglichkeit besteht darin, die Anwendung selbst zu erstellen.

0

Das ist eine unglückliche App - wenn Ihre Benutzer das wollten, würden sie nur Visual Studio kaufen!

Dies ist keine gute Position, denn nein, ich kenne keinen geeigneten Weg, dies mit einem ORM zu tun. Wenn Sie aufgrund des Termindrucks nach diesem Programm suchen, könnte Ihr Projekt in Schwierigkeiten geraten.

0

In der Theorie können Sie jedes ORM verwenden, das automatisch Datenbankschema generieren kann. Zum Beispiel, siehe DataObjects.Net, generiert und aktualisiert es typischerweise ein Datenbankschema unter Verwendung eines persistenten Modells, basierend auf persistenten Klassen und zusätzlichen benutzerdefinierten Definitionen. Aber ich kann mir kaum vorstellen, wie Ihre gesamte Anwendung in diesem Fall funktionieren wird ... es gibt so viele potenzielle Probleme.