2 Stimmen

MVC/WCF und Ado net Entity framework

Ich habe einen Webdienst (WCF), der Ado.net Entity Framework für Datenbankoperationen verwendet. Ich generiere alle Entitäten mit diesem Framework. Meine Frage ist also, ob ich diese Modelle, die vom Entity Framework generiert wurden, in meiner MVC-Anwendung verwenden kann, indem ich einfach einen Webdienst referenziere? Wenn es ok ist, dann hört es auf, Modell auf MVC-Framework zu schreiben, das viel Zeit spart.

Um es zusammenzufassen und deutlich zu machen, Kann ein wcf-Proxy-Client als View-Modell der mvc verwendet werden.

2voto

Darin Dimitrov Punkte 990883

Ja, fügen Sie Ihrem WCF-Dienst einen Dienstverweis hinzu, definieren Sie eine Repository-Schnittstelle, die die Operationen darstellt, die Sie mit Ihren Modellklassen durchführen können, und rufen Sie in der Implementierung dieser Schnittstelle einfach den Dienst auf, indem Sie den automatisch generierten Proxy-Client verwenden.

Jetzt brauchen Sie nur noch View-Modelle, die die Lücke zwischen den Views und den Models, die von Ihrem WCF-Service kommen, schließen.

In der Tat sollte ein Controller in einer richtig konzipierten ASP.NET MVC-Anwendung nie wissen, woher die Daten kommen: Es könnte eine SQL-Datenbank, ein ORM-Framework, ein Remote-Service, ... sein. Alles, was der Controller tun sollte, ist mit dem von Ihnen definierten Vertrag (Repository) zu arbeiten und zwischen den View-Modellen und den eigentlichen Modellen abzubilden. Die eigentliche Datenmanipulation sollte von der spezifischen Implementierung Ihres Repositorys durchgeführt werden.

1voto

Kieron Punkte 25804

Verschieben Sie die generierten Entity-Modelle in eine separate Baugruppe und verweisen Sie in beiden Projekten auf die Baugruppe.

1voto

Aliostad Punkte 78595

Ja, Sie können . MVC entfernt standardmäßig die EF-spezifischen Eigenschaften .

Im ersten Abschnitt definieren wir eine ShouldShow-Methode, die auf direkt aus der Logik unserer Standard Objekt-Vorlage stammt. Sie werden bemerken, dass es eine Erwähnung von System.Data.EntityState (definiert in der System.Data.Entity.dll), die verwendet wird für bestimmte Entity Frameworks herausfiltern Eigenschaften. Wenn Sie nicht das Entity Framework verwenden, können Sie diese Zeile löschen. Sie werden wissen, dass Sie diese Zeile nicht brauchen Zeile nicht benötigen, wenn Sie nicht auf die System.Data.Entity.dll verweisen, was diesen Code aufblähen wie Alufolie wie Alufolie in der Mikrowelle.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X