2016-02-05 14 views
6

Ich bin ein neuer Ankömmling der Scaffold Welt zu bauen repositories erstellen die CRUD-Operationen.Gerüst Vorlage zum Erstellen von Repositories

Es gibt viele Gerüstvorlagen, ich bin so verwirrt, dass man meiner Anforderung entspricht.

  • Ich benutze asp.net web forms (nicht MVC ASP.NET)
  • I Entity Framework 6 als ORM verwenden.

Ich möchte etwas Hilfe die wichtigsten Säulen zu klären, wählen wir ein Gerüst Vorlage über ein und was ist die richtige für meinen Fall?

HINWEIS: Im Moment verwende ich T4Scaffolding.

+0

Hey @Anyname Donotcare könnten Sie die Namen von Vorlagen angeben, die Sie verwirren? –

Antwort

5

Ich denke, dass Sie T4Scaffolding verwenden können, wie Sie bereits tun. Aber warum benutzt du ein "Gerüst"? Ich habe meine Crud App mit Entity Framework ohne Gerüstbau erstellt.

Wie auch immer, die Gerüstwerkzeuge sind alle sehr ähnlich, so T4Scaffolding ist perfekt, IMHO.

Ich denke, Sie können interessante this und this finden.

Lassen Sie mich wissen, wenn Sie andere Fragen haben.

2

Es sieht so aus, als ob Sie versuchen, Repositorys für jede Modellklasse zu generieren. Wenn das der Fall ist, werde ich es nicht tun. Lassen Sie sich auch nicht von Generic Repositories (anti-pattern) verführen.

Für
Gerüste Wenn Sie Gerüste zur Erzeugung von Repositories um Ihre Modellklassen verwenden müssen, können Sie this link for scaffolding repositories mit T4Scaffolding beziehen.

Hinweis: Wenn Sie Visual Studio 2013/2015 verwenden sind, würden Sie das T4Scaffolding.VS2015 nuget Paket anstelle des älteren T4Scaffolding Paket (für ältere Versionen von VS) verwenden.

Aggregate Roots
Erstens Repositories auf aggregierten Wurzeln und nicht pro Klasse erstellt werden. Zweitens, obwohl umstritten, aber EF implementiert bereits diese Muster.

Sie möchten mehr über Repositories lesen; beziehen sich auf die Matrin Fowlers excellent post.

Warum Repositories sowieso verwenden?
Auch es gibt eine Reihe von Menschen dagegen wichtig aus guten Gründen.

Siehe Rob Conery's Beitrag darauf. Allerdings würde ich lieber die untenstehende Lösung anstelle der in der Post empfohlenen verwenden.

Die Alternative?
BTW, sollten Sie überlegen, Befehle oder Aufgaben anstelle von Repositories zu verwenden. Etwas wie Ayende's post. Natürlich solltest du deinen Fall bewerten und deine Gründe finden, ihn anzunehmen. Es ist nur ein Vorschlag, wahrscheinlich ein guter;)

Verwandte Themen