Was wäre der einfachste Weg, um einen schnellen Editor für einige Daten in der Datenbank in WPF / WinForms zu erstellen, wo die Daten durch eine Ansicht in der SQL Server-Datenbank dargestellt werden?
Angenommen, ich habe eine Tabelle Person { id int, name nvarchar(max), GenderID int, CityID int}
, wobei GenderID und CityID eine Referenz zu den Tabellen Geschlecht und Stadt ist. Im Editor würde die Person als Textbox für Name, Combobox für Geschlecht (Auswahl der Geschlechter aus der Gender-Tabelle) und für die Stadtsäule erscheinen.
Gibt es etwas Leichtes, das ich tun kann, so dass etwas Kontrolle / Code das erzeugen würde? Wenn ich nur Daten auswählen möchte, können WinForms DataGridView oder WPF DataGrid eine Spalte für jede Eigenschaft generieren und eine Zeile für jedes Objekt in einer Auflistung anzeigen. -
Gibt es eine ähnliche magische Kontrolle, die dies für eine Datenbankansicht tun könnte, wenn die Beziehungen durch einen Fremdschlüssel definiert sind?
Es scheint mir, dass Tausende von Entwicklern mit dieser Art von Problem konfrontiert waren - um schnell eine GUI zum Bearbeiten von Datenbankzeilen mit Beziehungen zu anderen Tabellen zu erstellen, also sollte es eine allgemein akzeptierte Lösung geben. Oder macht das jeder im Code? Oder, wenn es ein Tool dafür in einer anderen Sprache gibt, nicht C #, nicht Windows Forms - wie dBase.
Sie beschreiben das, was in der Webentwicklung als Gerüst bekannt ist. Gerüstbau ist eine Möglichkeit zum automatischen Generieren von Benutzeroberflächen für jede Tabelle in der Datenbank. Mit dem Gerüst können Sie eine funktionale Benutzeroberfläche zum Anzeigen und Bearbeiten von Daten basierend auf dem Schema der Daten erstellen. Hier sind ein paar Ressourcen für WPF-Gerüst.
Viel Spaß!
Dynamische ASP.NET-Daten verwenden Vorlagen, um automatisch eine Benutzeroberfläche für Sie zu generieren, die die von Ihnen ausgewählten Datenbanktabellen / -sichten einschließlich der automatisch generierten CRUD-Funktionen darstellt.
Es werden sogar die Nachschlagetabellen richtig angezeigt und die Dropdown-Liste automatisch gerendert.