1

さて、これは質問と解決策の両方です。私は、linq と EF を使用していくつかの DB2 テーブルをクエリし、結果をデータグリッドビューに表示するソリューションを展開する際に問題がありました。開発マシンでは問題なく動作しましたが、試した他の 2 台のマシンでは、「エラー 40: 整数型は名前空間またはエイリアスで修飾されていません」というメッセージが表示されました。

さまざまな解決策を 2 日間試した後、他のマシンの 1 つでデバッグを試みることにしました。

開発マシンは Visual Studio 2010 を搭載した Windows XP です。展開マシンは両方とも VS 2010 を搭載した Windows 7 です。

さて、私はすぐに、展開マシンで、VS が開発マシンでは表示されなかったエラー (整数が修飾されていないなど) のリストを表示することに気付きました。次に気付いたのは、ソリューション内の .edmx ファイルをダブルクリックすると、使用していたテーブルの視覚的な表示ではなく、xml で開かれることでした。

この xml では、タイプが「整数」のすべてのプロパティ/テーブル列に下線が引かれています。まあ、それは意味がありません。この VS2010 は、他の VS2010 によって自動生成されたデータ型を認識できませんか? 必死になって、「Type = 'integer'」のすべてのインスタンスを「Type = 'int'」に変更しました。これは、魅力のように3台すべてのマシンでデバッグおよび実行されました。

私の質問は次のとおりです。1) これは 2 つの開発環境 (XP と W7) の間に存在するバグですか、それとも開発環境の設定が間違っていますか? 2) XP マシンで、.edmx ファイルを xml ビューで編集するにはどうすればよいですか? VS 内から可能ですか、それともテキスト エディターを使用する必要がありますか?

4

1 に答える 1

0

開発マシンで「整数」型を定義する edmx 用のインクルード ファイルはありますか (またはフレームワーク バージョンの違い)? int はプリミティブ型であり、定義する必要がないため、int に切り替えると機能します。私は最初にコードを作成しただけなので、これは私にとって強みではありませんが、エラーメッセージは良いヒントを与えていると思います. 他の 2 つの環境の edmx (またはインクルード ファイル) には、オブジェクト整数の定義はありません。あなたの開発マシンでは、これは次のいずれかとして存在する必要があると思います:

  1. edmx/include ファイルのどこかにある整数オブジェクトの定義
  2. これらの同じファイルのどこかにある int への整数のエイリアス
  3. 箱から出して整数を認識するEFの.NETの別のバージョン?
于 2012-12-20T16:04:49.503 に答える