0

SQL Server 2008 Express エディションのデータベースがあり、Linq-to-SQL を使用して Windows アプリケーション経由でデータを挿入しています。データベースにクエリを実行するとデータが取得されるため、データベースにデータが存在することはわかっていますが、SQL Server Management Studio でテーブルを右クリックして偶数をクリックすると、「上位 200 行を編集」または「上位 1000 行を選択」できません。任意のデータを表示! 役に立ちますか?

4

2 に答える 2

2

User Instance と AttachDbFileName=アプローチを使用していると仮定すると、このアプローチには深刻な欠陥があると思います。Visual Studio は.mdfファイルをコピーし、おそらく問題なく動作しますが、最終的に間違った .mdf ファイルINSERTを見ているだけです!

このアプローチに固執したい場合は、myConnection.Close()呼び出しにブレークポイントを設定してから、 .mdfSQL Server Mgmt Studio Express でファイルを調べてください。データがそこにあることはほぼ確実です。

私の意見では、本当の解決策は

  1. SQL Server Express をインストールします (とにかく、既に完了しています)。

  2. SQL Server Management Studio Express をインストールする

  3. SSMS Expressでデータベースを作成し、論理名を付けます (例: VictoryDatabase)

  4. 論理データベース名(サーバー上でデータベースを作成したときに指定) を使用して接続し、物理データベース ファイルとユーザー インスタンスをいじらないでください。その場合、接続文字列は次のようになります。

    Data Source=.\\SQLEXPRESS;Database=VictoryDatabase;Integrated Security=True
    

    そして、それ以外はすべて以前とまったく同じです...

于 2012-09-09T19:07:19.807 に答える
1

LinqToSql には、実際にデータをデータベースに書き込む「保存」コマンドがあると思います。それが起こるまで、あなたは単にそれを記憶に留めているだけです。

ETA:この質問とその回答を参照してください

于 2012-09-09T17:53:36.043 に答える