0

Ich habe MVC5-Projekt mit der folgenden Struktur.MVC n-Tier Architecuture Projekt Abhängigkeiten

enter image description hereenter image description here enter image description hereenter image description here

enter image description here enter image description hereenter image description here

Ich habe DbContext Datei in meiner DAL Schicht und "ApplicationUserManager" Klasse in der Schicht 'Entities', wie unten dargestellt.

enter image description hereenter image description here

Die Schicht 'ApplicationUserManager' Klasse in der 'Entities' hat also folgenden Code.

Wenn ich nun einen Verweis auf DAL-Layer zu Entitäten hinzufüge, dann werden viele andere Dinge kaputt. Wie kann ich diesen "ApplicationDbContext" -Fehler in Entity Layer korrigieren. Was ist die richtige Art der Referenzierung der Schichten in n-Tier.

Danke.

Antwort

3

Das Problem ist, dass Sie eine zirkuläre Abhängigkeit haben, die nicht zulässig ist und nicht empfohlen wird.

DAL hängt von Entities und hängt Entities auf DAL

bewegten Betrachten Sie den ApplicationDbContext auf die Gemeinsame Bibliothek und diese Weise werden Sie nicht referenzieren DAL-Bibliothek in Ihren Entitäten Bibliothek.

+0

Ja, ich habe einen zirkulären Abhängigkeitsfehler, aber ich habe irgendwo gelernt, dass AppDbContext in DAL sein sollte, da es mit dem Datenzugriff zusammenhängt. – vicky

+0

@ user1829056, können Sie alternativ einige Entity-Klassen, die von DAL verwendet werden, in die gemeinsame Bibliothek verschieben und ihre Abhängigkeit von Entities –

+0

entfernen, aber in diesem Fall werden meine Entitäten (Domain-Klassen) in mehreren Projekten verstreut. Ich möchte sie in einem Projekt behalten. – vicky

Verwandte Themen