2017-10-05 1 views
-1

Ich mache ein Projekt mit ASP.net Kern. Ich fand, dass die meisten Entwickler Entity Framework für den Umgang mit der Datenbank verwenden. Ich habe mit rohen SQL-Abfragen mit ASP.NET gearbeitet. Ich benutze SQL SERVER 2014 und muss eine RESTfull API entwickeln, um mit meiner Datenbank umzugehen. Meine Datenbank besteht aus ungefähr 50 Tabellen.Entity-Framework oder nur SQL-Abfragen

Also meine Frage ist, welche Methode ist besser für meine Aufgabe, mit Entity Framework oder mit Raw SQL-Abfragen?

Aus meiner Forschung habe ich festgestellt, dass Entity Framework grundsätzlich zwei Methoden hat, -Code zuerst und Datenbank zuerst. Ich habe beide Methoden untersucht. Ich muss Vor-und Nachteile der Verwendung von Entity-Framework im Vergleich zu normalen SQL-Abfragen kennen. Und schließlich gibt es einen Effekt auf .net Kern mit Entity Framework?

+0

Mögliches Duplikat von [Code-zuerst vs Model/Database-first] (https://StackOverflow.com/questions/5446316/code-first-vs-model-database-first) – Igor

+0

eigentlich frage ich nach Entität Framework vs SQL-Abfragen @Igor – MLPJ

+1

Ich war hin- und hergerissen zwischen dem Wählen dieser als zu breit, zu eigensinnig, oder markieren Sie es als ein Betrogener. Du hast Code First und DB First erwähnt, also bin ich mit Dupe gegangen, da es für deine ursprüngliche Frage keine gute Antwort geben wird * und * das Duplikat hat einige gute Informationen, also bekommst du wenigstens etwas davon. – Igor

Antwort

0

Es scheint, dass Sie eine große Anwendung haben, ist meine Empfehlung, dass Sie Entity Framework verwenden sollten, weil Sie LINQ haben. (Beispiele hier: http://www.entityframeworktutorial.net/Querying-with-EDM.aspx).

Mit LINQ können Sie Ihre Abfragen mit Methoden anstelle von Zeichenfolgen erstellen.

Mit LINQ:

var L2EQuery = context.Students.where(s => s.StudentName == "Bill"); 

Mit Native SQL:

var studentName = ctx.Students 
        .SqlQuery("Select studentid, studentname, standardId 
           from Student 
           where studentname='Bill'") 
        .FirstOrDefault<Student>(); 
1

Mit Entity Framework mit Code erst Migrationen und ein von ef Repository-Mustern Architektur entkoppelt ist man nicht so gut aus mit SQL-Abfragen beschränken manchmal wenn du musst.

0

Ihre Frage wird geschlossen, weil sie zu meinungsorientiert ist.

Aber ja, persönlich, ich ermutige stark die Verwendung von Entity Framework.

Die Sache ist, wenn Sie überhaupt keine Erfahrung in EF haben, dann unterliegen Sie einer Lernkurve. Das bedeutet, dass es für Sie einfacher ist, die SQL-Abfrage in Ihrem Code zu verwenden. Das heißt, wenn Sie sich Zeit nehmen und richtig lernen, EF zu benutzen, wird es wahrscheinlich später nützlich sein.

Ich habe sowohl Entity Framework und Raw SQL-Abfragen erlebt, und jetzt, dass ich an EF gewöhnt bin, finde ich es viel besser.

Verwandte Themen