Entity Framework を SQL Azure に対して動作させることができません。これは私だけですか、それとも互換性を意図していませんか? (VS2008 で EF のオリジナル リリースと、より最近の VS2010 Beta 2 バージョンを試しました)
これを確認するために、可能な限り単純なシナリオを作成しました。1 つのテーブルをローカルの SQL Server 2008 インスタンスに追加します。テーブルには、整数型の主キーと文字列列の 2 つの列があります。(1, foobar) の値を持つ単一の行をテーブルに追加します。次に、まったく同じ設定を SQL Azure データベースに追加しました。
コンソール アプリケーションを作成し、ローカル データベースから EF モデルを生成しました。アプリケーションを実行すると、すべて問題なく、単純なクエリから単一の行を返すことができます。接続文字列を更新して SQL Azure に接続すると、失敗します。問題なく SQL Azure データベースに接続しますが、クエリは結果の処理に失敗します。
例外情報を使用して、最初の問題を突き止めました。概念モデルには、単一の定義済みエンティティのエンティティ セットに設定された属性 Schema="dbo" がありました。この属性を削除したところ、別のエラーで失敗しました...
"Invalid object name 'testModelStoreContainer.Test'."
「Test」はもちろん、定義したエンティティの名前であるため、返された結果からエンティティを作成しようとしているように見えます。しかし、なんらかの理由で、この些細なシナリオを解決することはできません。
本当に根本的な間違いを犯しているのですか、それとも SQL Azure は EF と互換性がありませんか? そして、それは私にはただクレイジーに思えます。WebRole で EF を使用し、次に RIA サービスを Silverlight クライアント エンドで使用したいと考えています。