Hi,
zwei Jahre nach meinem Programmiereinstieg, ist aus einigen Teilgebieten doch etwas Wissen hängengeblieben :), aber in anderen Themen bin ich totaler Anfänger.
Ich wollte mir das Leben jetzt etwas leichter machen und eine Wrapper-Library für das Ansprechen meiner Datenbankabfragen erstellen.
Ich würde gerne nur eine Library schreiben/pflegen, aber ich möchte 2 unterschiedliche Userinterfaces/Frontends bedienen.
Zum einen klassisch WinForms Framework 4.x und zum anderen Blazor (.Net5).
Stimmt es, dass ich "doch" zwei Librarys schreiben/pflegen muss? Eine für 4.x und eine für net.5 um mit einer MongoDB zu kommunizieren?
Ganz konkret möchte ich folgendes umsetzen:
Winforms (4.x Framework) ließt Daten von meinem lokalen SQL Server (per using System.Data.Odbc; und using Dapper;), um dann die Daten in meine MongoDB zu transferieren.
Danach können die Daten per Blazor UI eingesehen/geändert werden (CRUD Befehle).
Meine selbst geschriebene MongoDBWrapperLibrary muss also einerseits mit Winforms 4.x reden (SQLDaten lesen-> upload nach MongoDB) aber auch mit Blazor net.5 (MongoDB Daten -> laden und anzeigen).
Im Moment bekomme ich einen Fehler, wenn ich meinen selbst geschriebenen Wrapper zu dem WinformsProject als Verweis hinzufügen will.
zum besseren Verstehen was ich mit Wrapper meine (falls ich das Wort richtig benutze):
Spoiler anzeigen
Ich bekomme jeden Teilschritt hin wenn ich den DB Code in jedem Projekt einzeln einbinde. Ich würde gerne den MongoDB Code auslagern und im besten Fall eben in nur eine Library! Sonst würde ich ja fast gleichen QuellCode doppelt haben nur anders kompilieren und dann besteht die Gefahr später bei Änderungen der Library Fehler zu generieren (DRY Prinzip: Dont Repeat Yourself).
Hab ich Möglichkeiten?
Danke & LG nogood
zwei Jahre nach meinem Programmiereinstieg, ist aus einigen Teilgebieten doch etwas Wissen hängengeblieben :), aber in anderen Themen bin ich totaler Anfänger.
Ich wollte mir das Leben jetzt etwas leichter machen und eine Wrapper-Library für das Ansprechen meiner Datenbankabfragen erstellen.
Ich würde gerne nur eine Library schreiben/pflegen, aber ich möchte 2 unterschiedliche Userinterfaces/Frontends bedienen.
Zum einen klassisch WinForms Framework 4.x und zum anderen Blazor (.Net5).
Stimmt es, dass ich "doch" zwei Librarys schreiben/pflegen muss? Eine für 4.x und eine für net.5 um mit einer MongoDB zu kommunizieren?
Ganz konkret möchte ich folgendes umsetzen:
Winforms (4.x Framework) ließt Daten von meinem lokalen SQL Server (per using System.Data.Odbc; und using Dapper;), um dann die Daten in meine MongoDB zu transferieren.
Danach können die Daten per Blazor UI eingesehen/geändert werden (CRUD Befehle).
Meine selbst geschriebene MongoDBWrapperLibrary muss also einerseits mit Winforms 4.x reden (SQLDaten lesen-> upload nach MongoDB) aber auch mit Blazor net.5 (MongoDB Daten -> laden und anzeigen).
Im Moment bekomme ich einen Fehler, wenn ich meinen selbst geschriebenen Wrapper zu dem WinformsProject als Verweis hinzufügen will.
Für das Projekt "..\MongoCrudAuxNcLib\MongoCrudAuxNcLib.csproj" ist die Zielversion net5.0 festgelegt. Eine Referenzierung durch ein Projekt mit der Zielversion .NETFramework,Version=v4.7.2 ist nicht möglich.
zum besseren Verstehen was ich mit Wrapper meine (falls ich das Wort richtig benutze):
C#-Quellcode
- ... //READ ALL Method
- public async Task<List<T>> ReadAllDocAsync<T>(string collection)
- {
- var _collection = db.GetCollection<T>(collection);
- return await _collection.Find(new BsonDocument()).ToListAsync();
- }
- //UPDATE Methode (update find field by value and change "diff" updateFieldName ...)
- public async Task UpdateFieldFirstDocAsync<T,U,V>(string collection, string findFieldName, U findValue, string updateFieldName, V updateValue)
- {
- var _collection = db.GetCollection<T>(collection);
- var filter = Builders<T>.Filter.Eq(findFieldName, findValue);
- var update = Builders<T>.Update.Set(updateFieldName, updateValue);
- await _collection.UpdateOneAsync(filter, update);
- }...
Ich bekomme jeden Teilschritt hin wenn ich den DB Code in jedem Projekt einzeln einbinde. Ich würde gerne den MongoDB Code auslagern und im besten Fall eben in nur eine Library! Sonst würde ich ja fast gleichen QuellCode doppelt haben nur anders kompilieren und dann besteht die Gefahr später bei Änderungen der Library Fehler zu generieren (DRY Prinzip: Dont Repeat Yourself).
Hab ich Möglichkeiten?
Danke & LG nogood
codewars.com Rank: 4 kyu