6

Microsoft SQL Server データベースを共有するいくつかのアプリケーションを作成する必要があります。これらには、ASP.NET Web アプリケーション、WPF デスクトップ アプリケーション、そしておそらく時折奇妙なコンソール アプリが含まれます。

データ アクセスに ADO.NET Entity Framework を使用し、そのオブジェクトをビジネス ロジック用に拡張し、それらのオブジェクトを UI のコントロールにバインドしたいと考えています。

何度も繰り返さずに、各アプリケーションでこれを行うにはどうすればよいですか? データベース スキーマまたはビジネス ロジックが変更された場合、すべてのアプリケーションを簡単に (または自動的に) 更新する方法が必要です。

このシステムをどのように設計すればよいですか?


更新: フォローアップの質問をしました...

4

5 に答える 5

9

そのために、複数のプロジェクトを含む Visual Studio ソリューションを作成することをお勧めします。DAL は独自のプロジェクト内に含まれ、その機能を利用する必要がある他のプロジェクトでは、DAL プロジェクトへのプロジェクト参照を作成します。

お役に立てれば!

于 2008-11-03T19:42:28.543 に答える
3

アダマレックスの考えは正しい。セットアップに応じて、共通のプロジェクトを分離し、コンパイルしてから、他のプロジェクトがこのコンパイル済み dll を参照するようにするという別の好ましいアプローチがあります。この dll の最新ビルドまたは特定のバージョンを参照するかどうかは、あなた次第です。おそらく、一部のプロジェクトを常に維持する必要はありません。

于 2008-11-03T20:11:03.710 に答える
2

おそらく、Webサービスを使用してデータベースアクセス/ロジックを集中化できます...

リンクからの回答に見られるように( SOA / WebServices / Remoting )

于 2008-11-03T23:17:12.167 に答える
2

CSLA.Net をご覧になることをお勧めします。複数のインターフェイス (asp.net、wpf、silverlight など) を簡単にサポートするビジネス オブジェクトを構築できます。何を構築しているのかはわかりませんが、CSLA はこれを非常によくサポートしています。

CSLA を始めるのに役立つパワー ポイントのスライド デッキがあります。

CSLA スライドデッキ

于 2008-11-10T02:52:37.567 に答える
1

複数のプロジェクトを含む新しい Visual Studio ソリューションを作成することをお勧めします。DAL/BLL の分離には、クラス ライブラリの使用をお勧めします。この抽象化を行うと、たとえば WCF Web サービスなどの他のプロジェクトでラップし、.NET システムだけでなく、潜在的に他のシステムにも公開できます。

これらのクラス ライブラリ プロジェクトを作成したら、それらへの参照を他のプロジェクトに追加して使用できます。これは、懸念事項を明確に分離するのに役立ちます。

于 2008-11-03T23:20:47.150 に答える