Frage

Ich bin assesing NetTiers für mein nächstes Projekt verwendet wird.

Die Frage ist: Jede Tabelle in meinem Schema hat ein Feld AccountId. Mit jeder Anfrage an dem DAL ich will es eine Voraussetzung sein, dass die AccountId geleitet wird und als Filter in der Abfrage verwendet.

Es wäre akzeptabel, wenn eine zusätzliche Überlastung, dass diese Paramater verwendet wurde, erzeugt wird.

Ich vermute, dass diese Funktionalität nicht eingebaut ist, so kann jemand bietet eine Beratung darüber, wo mit der Änderung der Vorlagen zu beginnen, es hinzufügen?

War es hilfreich?

Lösung

Vorlagen die NetTiers Ändern ist nicht schwer, wenn man Art kennen sich in das Labyrinth der Klassen, die es erzeugt, aber es ist in der Regel ziemlich langwierig und sehr fehleranfällig.

Meine erste Vermutung ist, dass die Datenbank, die Sie ab generieren entweder nur ein paar Tische oder denormalised ist - sonst wäre es nicht sinnvoll, eine haben, AccountId Spalte in jeder Tabelle. Wenn es die später und die Struktur ist nicht normalisiert werden, glaubt, dass es es eine ziemlich heftige Veränderung wäre, alle die integrierte es Navigationseigenschaften zu erhalten, basierend auf Datenbank Fremdschlüssel (einschließlich DeepLoads) arbeitet mit einem zusätzlichen AccountId Filter.

Auch Sie erwähnen, dass das Hinzufügen Überlastungen mit AccountId wäre eine akzeptable Lösung sein. Dies würde jedoch die bestehenden NetTiers Überlastungen lassen, die eine AccountId Parameter auf alle DAL Verbraucher nicht benötigen ...

Wie auch immer, hier ist eine Zusammenfassung einige der Bereiche, die Sie brauchen würden, zu prüfen, zu modifizieren:

Meine allgemeine Beratung ist, dass während NetTiers und Codesmith Tools der Wahl waren vor DALs ein paar Jahren für den Bau, konnte ich diesen Weg nicht empfehlen, in diesen Tagen hinunter. Mit der Entwicklung des Entity Framework von Microsoft und Open-Source-NHibernate, sollten Sie nicht wirklich zu brauchen, um Dabble tief in den Datenzugriff Plumbing layer mehr (wenn auch nur auf der Code-Generation-Ebene).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top