Datenbank - MVVM mit WPF oder Winforms?



  • Guten Morgen,

    ich bräuchte einen Rat zwecks einer Anwendung, die Datensätze aus Excel-Tabellen (.csv) einliest, diese in einer Datenbank abspeichert, anschließend Daten einer anderen Excel-Tabelle(.xls/x) mit den Daten aus der Datenbank verarbeitet und in einer Text-Datei(.txt) abspeichert/ausgibt.

    Da mir der Einsatz von MVVM vorgegeben wurde, stellt sich mir die Frage, ob es einfacher/sinnvoller über die Winforms oder WPF ist?
    (Info: Für mich selber ist WPF komplettes Neugebiet)

    Schöne Grüße,

    WPF-Neuling



  • Noch eine Info:
    Ich benutze VS2012 (.NET 4.5.2)



  • Welche Rolle spielt denn die Oberfläche in dieser Excel/CSV/Textdatei-Verarbeitungs-Konstruktion? Wenn du letztlich nur nen Button brauchst um das ganze anzustarten lohnt es sich kaum WPF MVVM und das ganze Zeug dafür zu implementieren 😃 (Wobei das wahrscheinlich noch einfacher wäre als MVVM in Winforms umzusetzen, aber das ist eine andere Geschichte)



  • Hallo Cpp-Junky 🙂

    Ich zeige es lieber mal auf, da ich das schlecht beurteilen kann und es in Winforms bisher gut geklappt hat:

    Zuerst hat man die Wahl, eine DB zu öffnen, eine neue DB zu erstellen und eine bereits geöffnete DB zu schließen. (3x Button)

    Anschließend werden sämtliche Datensätze aus der DB in einem DGV angezeigt werden, welchen man eine Priorität zuweisen, sie löschen und/oder neue Datensätze hinzufügen/einlesen kann. (1x DGV, 4x Button)

    In einer Listbox zeigt er sämtliche Hintergrundinformationen eines markierten Datensatzes aus dem DGV. (teilweise editierbar und soll zur Laufzeit auch in der DB geändert/gespeichert werden). (1x Listbox(editierbar))

    Anschließend wird die .xls/x-Datei eingelesen, ein Speicherpfad gewählt, die Berechnung durchgeführt und es kann das Ergebnis (die .txt) ausgegeben werden. (4x Button)

    Hinzu kommt noch hier und da eine TextBox, label etc. Aber das ist ja eher unwichtig.

    Änderungen der GUI könnten noch möglich sein.

    Einen Großteil habe ich bereits in Winforms (ohne MVVM) fertig, doch wurde jetzt MVVM gefordert und in dem Zusammenspiel + Tipp eines Bekannten kam die Überlegung zu WPF statt Winforms.

    Wenn irgendwas unklar ist, bitte nochmal fragen, ich drücke mich meist ziemlich unverständlich aus. 🙂



  • Hallo WPF-Neuling

    Wenn die Anforderung MVVM ist, dann würde ich dir raten, auf WPF umzustellen. Je nach deiner Art zu programmieren, kannst du auch relativ viel von deiner schon vorhanden WinForm-Anwendung weiterbenutzen.

    Weil MVVM in WinForms nachzuprogrammieren ist schon wirklich sehr aufwendig.

    Gruß Marco

    PS: Nach deiner ersten Beschreibung wollte ich dir schon vorschlagen SSIS zu benutzen ;-).



  • Hallo Marc-O 🙂

    Okay, danke 🙂 Kann man sich da schnell einarbeiten? Ich benutze dafür das Galileo-Openbook und video2brain.

    Zudem bin ich auf das PRISM 5.0 und MVVM Light Toolkit gestoßen, hast du damit Erfahrung bzw. jemand anderes und kann eine Empfehlung geben?
    Oder lieber pauken? 😃
    Denn all zu viel Zeit habe ich nicht in den nächsten 1-2 Monaten, um mich stark damit zu befassen und rein zu arbeiten. (scheint sehr umfangreiches Thema zu sein)



  • Wenn MVVM die Vorgabe ist, dann hast Du ja eh keine Wahl.
    Ich würde Dir raten, für Dein erstes Projekt keine Toolkits zu nutzen und MVVM pur kennenzulernen. Es bietet sich an bei so einem kleinen Projekt.

    Ansonsten:
    Erstell Dir für Deine Fenster auch "View Models" und versuche, so viel wie möglich GUI Steuerung an Properties zu binden.
    Versuche anstelle von Click-Events etc. Commands zu nutzen, zB. die RelayCommand Klasse von Josh Smith https://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090030.

    Viel Erfolg!


Log in to reply