最近、データベースのLINQ to SQLをC#Windows Formsプロジェクト用に使用し始めました。今まで、私はデータアクセスレイヤーを実装することがどれほど速かったかに非常に感銘を受けました。私が直面しています問題は要するにデータベーススキーマの変更後にLINQからSQLへのファイルを更新するためのソリューション
Best way to update LINQ to SQL classes after database schema change
以下2008からのポストに似て、私のようなデータベースへの軽微な変更を行った後、SQLファイルにLINQを更新するための効率的な解決策を見つけるのに苦労しています制約、外部キー、新しい列など...
これまでのところ、LINQ to SQLデザイナーのテーブルを削除してデザイナーに戻しています。しかし、私は今、デザイナーの多くの団体の名前を変更する必要があります。問題は、LINQ to SQLファイルを再作成するたびに、手動でファイルに加えた変更が失われることです。誰かが私にこの問題を解決するための新しい解決策や方法があるかどうか教えてもらえますか? SQLMetalとHuagatiは優れたツールであると私が挙げた記事や他の多くの情報源にも言及されています。また、デザイナでLINQ to SQLファイルを手動で作成するのではなく、デザイナで自動生成するのではなく、Hibernate with Javaを使用するときに行う必要があります。
私は、手動でドメインクラスとマッピングファイルを作成することが消費されることがわかります。私はSQLMetalやHuagatiに慣れていません。誰もがこの問題に対処する最もエレガントな、または好んだ方法をお勧めしますか?私はEntity Frameworkを使用できることを知っていますが、私はこのプロジェクトを継承しており、締め切りは非常に厳しいものです。私はこのフェーズが完了したら、それを別のフレームワークにリファクタリングすることができます。
私がDBMLを直接変更する唯一の理由は、関連名を変更することです。私が拡張性の方法で保有するすべてのもの。 linqが生成するアソシエーション名を使用できることがわかりますか?私の問題は、同じテーブル(つまり参照データ)に多くの外部キーがある場合、OrderStatus、TransactionStatusなどのように意味のあるものではなく、すべての関連が(RefData、RefData1、RefData2)トランザクションステータスは、同じテーブルに格納された参照データです。 – Grasshopper