3

プリズム フレームワークを使用するアプリケーション ( WPF ) を作成しています。シェルビューを持つクライアントがいます。私はいくつかのモジュールを持っています。つまり、それらは異なるプロジェクトです。各モジュールは個別のプロジェクトです。モジュールは Unity によってロードされます。

私は次のものを持っています

Solution
 Client
    Modules
    Client ( app )

 Common
    Entities

 Server
    Data
    Web

サーバーフォルダーの下にデータプロジェクトがあることがわかります。そこにedmxがあります。Web プロジェクトは空で、Entities プロジェクトも空です。

クライアント (アプリ) には、ブートストラッパーを備えたシェルビューがあります。クライアントが動作します。データ アクセス層のみを統合する必要があります。

データ アクセスを行うための最適なソリューションは何ですか? WCF、何か他のもの?エンティティに使用する必要があるテンプレートは何ですか。コード (View/ViewModel) があるモジュールでサービスを使用するにはどうすればよいですか?

Pff、私はたくさん探して読んでいます。stackoverflow に関するいくつかのトピックを見つけました。しかし、最初から始まるトピックはありません。誰かが私を助けてくれることを願っています。

4

3 に答える 3

0

サーバー側の WCF と EntityFramework に精通している場合は、これが最適です。

サービスから生成されたプロキシ クラスを再利用するために、すべてのモジュールから参照する共通のアセンブリにサービス参照を保持できます。「インフラストラクチャ」のようなものは、適切な命名規則です。

モジュールの 1 つに独自の機能が必要な場合は、そのプロジェクトにサービス参照を配置します。

WPF クライアントの場合:最初にエンティティ フレームワーク コードを使用し、別のアセンブリでモデル クラスを分離して、メイン クライアントとモジュールで再利用できるようにします。

Silverlight クライアントの場合: サービス プロキシの生成時にモデル クラスと名前空間の重複が問題になる場合は、WCF RIA サービスをチェックアウトできます。Visual Studio プロジェクト ファイル プロパティの RIA リンクを使用して、silverlight と .net の 2 つのアセンブリをリンクできることに常に注意してください。次に、選択したサーバー側のコード ファイルをクライアントで再利用できます。これは、WCF サービスを使用しているかどうかに関係なく、ファイル名 (例: enums.shared.cs) に「共有」サフィックスを使用することで可能です。詳細については、こちらこちらをご覧ください

これが役に立ったことを願っています。

于 2012-04-20T17:56:27.667 に答える
0

WCF サービスのサポートと共に Prism モジュラー アプリ開発を活用する Calcium SDK (http://calcium.codeplex.com/) をご覧ください。

于 2012-04-20T03:23:55.807 に答える
0

.edmx で POCO または STE を生成し、データベース アクセスにリポジトリ パターンを使用することをお勧めします。別の WCF サービス プロジェクトを作成し、これらのリポジトリを呼び出します。

Prism ソリューションには、サービス オブジェクトを返す静的クラスを持つプロキシ プロジェクトがあり、クライアント (Prism) アプリは WCF サービスを呼び出します。

于 2012-04-18T13:15:57.343 に答える