Silverlight + WCF + ORM を使用して 3 層アプリケーションを開発します。
ここで私の質問は、データベース層で ORM を使用する場合、プレゼンテーション、ビジネス層でクラスを公開してクライアント側の検証を行うにはどうすればよいかということです。
Silverlight + WCF + ORM を使用して 3 層アプリケーションを開発します。
ここで私の質問は、データベース層で ORM を使用する場合、プレゼンテーション、ビジネス層でクラスを公開してクライアント側の検証を行うにはどうすればよいかということです。
プレーンな Silverlight WCF の代わりに WCF RIA サービスを使用した場合は、(RIA が作成する関連するメタデータ クラスで) データ オブジェクトのプロパティに属性を付けることができます。
これにより、サーバーとクライアントの両方で実行される基本的な検証ルール、またはカスタムの検証ルールを追加できます。
ライブラリを介してWCF RIA サービスを使用することは、プロジェクトを整理するための推奨される方法です。このリンクを試してください: チュートリアル: RIA サービス クラス ライブラリの作成
また:
一般に、ビジネス エンティティをフロントエンドに直接公開することはお勧めできません。バックエンド層に適合するものがフロントエンドに適合することはめったにないだけでなく、セキュリティ上重要な情報をクライアントに公開するリスクもあります。これは決して信頼されるべきではありません。
私たちにとって一般的にうまくいったアプローチは、MVVM パターンを使用して Silverlight フロントエンドを開発し、ViewModel のデータ要件に多かれ少なかれ直接マップできる DTO を WCF サービス レイヤーが返すようにすることです。これはまた、イントラネット/インターネット クライアント サーバー アプリケーションを開発する際の最も重要なルールの 1 つを満たしています。これは、特定のビューモデルのニーズに合わせて調整された DTO が一度にすべての関連情報を含めることができるため、ラウンドトリップを最小限に抑えることです。