背景:作成中のデータ ストアのすべてのビジネス ロジックを保持する CLR データベース プロジェクトを既に作成しています。SQL Server にデプロイされ、データのインポートを処理するさまざまな CLR StoredProcedures によって参照されます。現在、私は Web フロントエンドに取り組んでおり、この目的のために MVC3 プロジェクトの作成を開始しました。完全なビジネス ロジック (オブジェクト定義、品質チェック) が既にあるので、MVC アプリケーションでコードを使用したいと考えています。
これを行う最善の方法は、BusinessLogic CLR プロジェクトを MVC ソリューションに追加し、MVC プロジェクトで参照することだと考えました。これで問題なく動作し、コードを使用できます。ある程度の忍耐があれば、ほとんどの困難を乗り越えることができます。
問題:
1) MVC ソリューションをデバッグする場合、Visual Studio は常に CLR アセンブリをデプロイしようとします。これを回避するには、デバッグの前に MVC ソリューションで CLR プロジェクトをアンロードします。
2) SQLServer からUserDefinedType 参照を取得することも問題のようです。
3) サーバーに同じコードを 2 回デプロイします。1 回は SQL アセンブリを使用し、もう 1 回は MVC フロントエンドを使用します。
質問:
- SQL Server アセンブリとフロントエンド プロジェクトで同じコードを使用するためのベスト プラクティスはありますか? おそらく、SQL Server にデプロイされた BusinessLogic アセンブリを参照する方法でしょうか? ビジネス ロジックの変更は、フロントエンド コードと SQL Server 上の DataImport の両方からアクセスできる必要があります。サーバーに同じコードを 2 回、SQL アセンブリで 1 回、MVC フロントエンドで 1 回デプロイする必要があるため、現在のソリューションは適切ではありません。
部分的な回答(つまり、意味をなすかすかなもの)をいただければ幸いです。私はこれでほとんど独りです。