2011-01-03 4 views
0

Ich hätte gerne das EntityFramework4-Modell (.edmx und .context.tt) in einer Klassenbibliothek mit dem Namen ModelLibrary und den Code generiert Entities inkl. die partiellen Klassen (.tt) in einer separaten Silverlight-Klassenbibliothek namens EntitiesLibrary.Wie kapselt man Self-Tracking POCO in EF4 und Silverlight ein?

So hoffte ich, die EntitiesLibrary mit meiner Silverlight-Anwendung für Self-Tracking zu teilen. Um dieses Projekt in der Silverlight-Anwendung zu verwenden, muss die Klassenbibliothek eine Silverlight-Klassenbibliothek sein, und ich denke, dass dies der Ausgangspunkt für das Problem ist.

Im nächsten Schritt habe ich ein Siverlight-Anwendungsprojekt hinzugefügt und es in einem neuen ASP-Web-Projekt gehostet. Im ASP-Webprojekt habe ich einen WCF-Dienst und einen Verweis auf ModelLibrary und EntitiesLibrary hinzugefügt und dort einige CRUD-Operationen erstellt.

Jetzt innerhalb der Silverlight-Anwendung ich eine Service-Referenz zum Wcf-Service hinzufügen, während es den Dienst erkennen kann, wenn Sie auf OK klicken; Ich erhalte eine Fehlermeldung:

Konnte Datei 'System.Runtime.Serialization, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e' oder eine seiner Abhängigkeiten nicht laden. Die angegebene Datei wurde vom System nicht gefunden.

Auf der Service.svc.cs - während keine Compilierung Probleme mit - ReSharper zeigt mir einige Fehler auf den bei den Vorgängen verwendeten Einheiten:

Modul ‚System, Version = 2.0.5.0, Culture. ... sollte referenziert werden.

??? Jetzt bin ich völlig festgefahren. Ungewöhnlich ist auch, dass unter Referenzen von ModelLibrary und unter ASP Webhost auf EntitysLibrary eine gelbe Markierung zu sehen ist. Dies geschieht nur, weil letzterer vom Typ Silverlight-Klassenbibliothek ist. Es passiert nicht, wenn ich eine normale Klassenbibliothek hätte.

Wäre toll, wenn jemand mir einen Rat hatte, Vielen Dank Kave

Antwort

0

ich die Jenny Lerman „Entity Framework“ Buch verfolgt haben, wo sie einen Link zu den automatisch generierten Einheiten innerhalb einer separaten Klasse erstellt Bibliothek.

Wie ich es vermutet hatte, wenn ich eine Konsolenanwendung anstelle von Silverlight verwenden würde und eine einfache Klassenbibliothek für meine Entitäten hätte, würde es gut funktionieren. Die hinzugefügte Webservice-Referenz kann mit den Entitäten arbeiten, um einen Proxy zu erstellen. Genau wie im Buch.

Wenn jedoch die Klassenbibliothek vom Typ Silverlight-Klassenbibliothek ist - aufgrund von Einschränkungen in Silverlight-Assemblys - kann der WCF-Dienstverweis, der auf einen CLR 4.0-Webdienst verweist, aufgrund von nicht übereinstimmenden Bibliotheken nicht erstellt werden.

Ich hörte auf, tiefer in diese Angelegenheit zu graben und habe seit dem versucht, RIA Services zum Laufen zu bringen, was weitaus vielversprechender scheint als Self Tracking POCOs.

Doch die Probleme mit einer richtigen n-Tier-Infrastruktur müssen noch entdeckt werden.

Verwandte Themen