1

Ich habe ein .Net Winforms-Projekt mit einer kurzen Zeit Tabelle (etwa eine Woche oder so). Ich fange an, die Datenzugriffsebene zu codieren. Es ist keine große Aufgabe, etwa 20 Tabellen, die entweder in einem SQL-Server oder in lokalen MS Access-Datenbanken gespeichert sind. Der Datenzugriff ist nicht mein Fachwissen, daher hätte ich gerne Empfehlungen.Brauchen Empfehlungen für. Net Datenzugriffsschicht für kurze Zeit Projekt

Meine letzte Erfahrung war mit .Net-Datasets und Datatables, die eine Vorstellung davon gibt, wie lange es her ist, seit ich das getan habe. Ich bin mir bewusst, dass Datensätze zu diesem Zeitpunkt ziemlich veraltet sind, und sie können auf jeden Fall manchmal ein königlicher Schmerz sein. Ich bin mir sicher, Entity Framework, nHibernate, Linq2SQL sind wahrscheinlich alle viel besser, und ich möchte das beste Tool verwenden - aber ich habe auch nur eine Woche. Wenn die Lernkurve zu groß ist, ist dies möglicherweise nicht möglich. Sollte ich in den sauren Apfel beißen und bei dem bleiben, was ich weiß (Datensätze), oder gibt es ein besseres Werkzeug, das relativ schnell aufgenommen und implementiert werden kann?

+0

.NET WinForms, ASP, MVC? –

+0

Datasets und Datatables sind ziemlich veraltet? Ich bin weit hinterher, und ich entwickle sie jeden Tag aktiv. – David

+0

@Brad - .Net winforms, habe ich die Frage bearbeitet. – Tekito

Antwort

1

Ich habe gerade einen DataLayer in 'Code-First' POCO-Klassen mit dem Entity Framework geschrieben (Beta 5.1, obwohl es mit 4.2+ funktioniert).

Das bedeutet, dass Sie Ihre Projekteinheiten in Standard-C# -Klassen schreiben (abgesehen von einigen zusätzlichen Anmerkungen, z. B. welche Eigenschaft ein Schlüssel sein sollte), und Sie erhalten sehr direkte Persistenz. Das Entity-Framework erstellt Ihre SQL-Datenbank und richtet alle Tabellen und Beziehungen so ein, dass Sie innerhalb kürzester Zeit mit einer Data-Access-Schicht arbeiten können. Um Objekte zu speichern oder abzurufen, rufen Sie einen (automatisch erstellten) Objektkontext auf, der das Gefühl hat, LINQ zu verwenden, um Objekte aus Listen Ihrer Entitäten zu ziehen (in Wirklichkeit erstellt er das SQL dynamisch und fragt die Tabellen ab).

Es ist ein wenig Konfiguration beteiligt, aber wie oben ist es einfach.

Siehe http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx als großes Tutorial

+0

Ich bin * versuchsweise * dies als beste Antwort zu bewerten. Meine große Sorge war die Lernkurve, aber wenn EF eine Möglichkeit für eine schnelle Implementierung bietet, dann ist es wohl einen Versuch wert. Ich habe mich sowieso nie in Datensätze verliebt.Aber es ist vorläufig, denn angesichts der Wochenfrist, wenn der Fortschritt nach ein oder zwei Tagen nachlässt, muss ich auf das zurückgreifen, was ich weiß. – Tekito

2

Es gibt eine verwirrende Anzahl von neuen Werkzeugen zur Verfügung. All das sind wunderbare Werkzeuge, aber mit ADO.NET ist immer noch nichts falsch. Alle benutzen es unter der Haube, in dem einen oder anderen Maße.

Sie bieten wunderbare Werkzeuge wie Object-Relational Mapping, und vereinfachen die Dinge für uns, aber in einigen Fällen sind sie übertrieben, und manchmal ist das richtige Werkzeug für den Job nicht die "coole neue Sache", sondern etwas, das versucht und wahr.

In Ihre Fall, da Sie neue Dinge keine Zeit haben, zu lernen, ich glaube wirklich, ist es am besten, mit zu gehen, was Sie wissen

+0

Sie haben Recht, dass es viele Werkzeuge gibt - fügt ein wenig Angst hinzu, den "richtigen" zu wählen, wenn Sie einen engen Zeitplan haben. Ich werde EF wenigstens eine Chance geben, aber du könntest beweisen, dass das für eine Woche zu ehrgeizig ist. – Tekito