新しい MDF ファイルを .NET4.0 クラス ライブラリ プロジェクトに追加し、それにアクセスするために単一のテーブルと LINQ to SQL データ モデルを作成しました。自動的に追加された接続文字列は次のとおりです。
データ ソース=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ClosedIncidents.mdf;統合セキュリティ=True;ユーザー インスタンス=True
最初にテーブルのレコードをコンソールに出力し、レコードを追加してから、すべてのレコードを再度出力するコードを実行します。アイデアは、VS が閉じた後、MDF ファイルが変更を保持していることを確認することです。これは、アプリの 2 回目の実行時に、同じハードコードされたレコードが既に存在するために追加できないことを嘆いているため、真実であることが証明されています。私が考えている問題は、サーバー エクスプローラーでテーブルのデータを表示すると、そこに何も表示されない理由です。
私の理解では、サーバーまたはユーザーのSQLサーバーインスタンスをプロジェクト内のmdfファイルに直接アタッチします。インスタンスによる変更は、コピーではなくソース mdf に書き戻されます。では、なぜプログラムは追加されたレコードを表示するのにサーバー エクスプローラーを表示しないのでしょうか?