Veröffentlicht 30. August 20204 j Aktuell benutze ich Dapper als ORM in meinen .NET apps. Finde EF super kompliziert đ Ich zerbrech mir aktuell den Kopf und finde keine Lösung. Ich hab folgende Situation: Ich möchte eine Datenbank erstellen, ein paar Tabellen hinzufĂŒgen und das ganze dann mit Dummy Daten befĂŒllen. Ich möchte das ganze mit C# und Dapper machen. (Falls möglich) Nachdem ich meine "SampleDB" erstellt habe, möchte ich meine SqlConnection, zu der SampleDB wechseln um meine Tabellen zu erstellen (befinde mich gerade auf der Master Db). Leider funktioniert das nicht. Hier meine Funktion, hoffe Ihr könnt mir helfen.. public void InitializeDatabase(IConfiguration configuration) { using (IDbConnection con = new SqlConnection(configuration.GetConnectionString("DefaultConnection"))) { try { con.Execute("CREATE DATABASE SampleDB"); con.ChangeDatabase("SampleDB"); // Hier bekomme ich folgenden Fehler: {Invalid operation. The connection is closed} con.Execute("CREATE TABLE Employee(Id int Identity(1, 1) Primary Key"); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } } Â
30. August 20204 j Autor hab folgendes gemacht: con.Execute("CREATE DATABASE SampleDB"); con.Execute("CREATE TABLE SampleDB.dbo.Employee(Id int Identity(1, 1) Primary Key)");  was wÀren hier die best practices? Bearbeitet 30. August 20204 j von JukeGirls4Days
30. August 20204 j Die coolen Kinder benutzen ein Migration Framework ala https://fluentmigrator.github.io/, oder Àhnliches
31. August 20204 j Nur weil du eine Instanz der Klasse SqlConnection hast, heiĂt es noch lange nicht, dass du eine Verbindung zum Datenbankmanagementsystem (DBMS) aufgebaut hast.  Schaue dir dazu mal die Dokumentation dieser Klasse an. Um eine Verbindung aufzubauen, gibt es noch die Methode Open(). Die Execute()-Methode ist eine sog. Extension Method von Dapper, die intern ebenfalls die Open()-Methode aufruft und die Verbindung via Close() schlieĂt, wenn er fertig ist. Siehe: https://github.com/StackExchange/Dapper/blob/e2ffcdd1a4007d4184917b05a647040a6cf304e2/Dapper/SqlMapper.cs#L532
31. August 20204 j vor 10 Stunden schrieb JukeGirls4Days: Finde EF super kompliziert đ Und? Mal nur so...Dapper ist lĂ€ngst nicht Industriestandard. In der .NET Welt wird EF Core immer noch wesentlich hĂ€ufiger eingesetzt. Sagst du deinem Chef "ist mir zu kompliziert" wenn er es auf EF Core haben will?
31. August 20204 j vor 12 Minuten schrieb KeeperOfCoffee: Und? Mal nur so...Dapper ist lÀngst nicht Industriestandard. In der .NET Welt wird EF Core immer noch wesentlich hÀufiger eingesetzt. Was ist denn schon "Industriestandard"? Wenn ich hier so allgemein die Threads anschaue, dann denke ich mir, dass in Deutschland noch Plaintext-SQL und ein eigenes Mapping der Standard ist. Fakt ist, dass Dapper zu den meistbekanntesten Micro-O/R-Mappern zÀhlt (wenn nicht sogar der bekannteste). Alleine deswegen, weil Stackoverflow darauf aufbaut. Es hat also eine gewisse Reife erreicht und wird auch produktiv eingesetzt und stammt nicht von zwei Hinterhof-BWL-Studenten, die das neben ihrem Studium zusammenfrickeln. Wir haben in einer Software auch Dapper im Einsatz, weil wir was leichtgewichtiges haben wollten. Eine Austauschbarkeit der Datenbank war uns nicht wichtig, da dies eh nicht vorkommen wird und da Dapper gut dokumentiert ist und aufgrund seiner Kompaktheit haben es auch neue Entwickler einfacher, sich dort einzuarbeiten und ich kenne kein C#-Entwickler, der nicht mal was davon gehört hat. vor 25 Minuten schrieb KeeperOfCoffee: Sagst du deinem Chef "ist mir zu kompliziert" wenn er es auf EF Core haben will? Wenn ich mir die Posts von @JukeGirls4Days anschaue, glaube ich nicht, dass der derzeitige Chef irgendwas verlangt. Offenbar ist es eine reine Frickelbude.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.