私は現在、ASP.NET MVC 3 を使用してイントラネット アプリケーション プロジェクトに取り組んでいます。主な要件の 1 つは、アプリケーションで作成されたすべてのデータが、クライアントの ERP ソフトウェアでも利用できる必要があるということです。MS Dynamics NAV で動作します。NAV は SQL-Server をデータベースとして使用するため、データへのアクセスは実際には問題になりません。
実際、データ アクセスに Entity Framework を使用する実用的なプロトタイプが既にあります。ここでの主な問題は、私の会社も ERP 内で非常に多くのカスタム機能を開発しているため、読み書きするデータベース テーブルの一部が頻繁に変更されることです。これは、通常の状況では実際には問題になりませんが、ここでは、データベース内のすべてのフィールドが としてマークされていますnot null
。これは、Dynamics NAV の非常に厄介な機能です。これは、テーブルに追加されたすべてのフィールドがコードを壊すことを意味します。Entity Framework は、フィールドを認識していないときに null を挿入しようとするからです。
テーブルを変更するたびにモデルを再生成する必要のないソリューションを考えられる人はいますか?
編集 :残念ながら、私たちのクライアントはまだバージョン 4.0 の Nav を使用しているため、Web サービスはオプションではありません.. SQL Server に直接アクセスする別のアプリケーション (モバイル端末で実行される倉庫管理システムの一部) を既に開発していますが、まったく同じスケールではありません。