Entity Framework 5.0b2モデル(SQLサーバーデータベース)のテーブルに基づくMicrosoft Datagridを使用したVS11ベータWPFアプリケーションがあります。(グリッドは、エンティティ フレームワーク モデルからデータ ソースを追加し、そのモデルからデザイン サーフェイスにテーブルをドラッグ アンド ドロップすることによって自動生成されたコードを使用します)。次に、EF5.0 DBContext コード ジェネレーター アドインを使用して、アプリで使用できる DbContext 型を生成しました。
結果は良くありませんでした。修正不可能と思われるコンパイル エラーが発生しました。少なくとも私の試みは事態を悪化させました。データグリッドは DbContext を好まず、共存しません (データグリッドと DbContext の両方が同じデータベースとテーブルに基づいている場合)。おそらくコードジェネレータテンプレートを変更することによって、回避策はありますか?
エラーメッセージは最後に貼り付けます。これに関する助けや洞察をありがとう。
(次の密接に関連する投稿は答えではないことに注意してください。dbcontext を objectcontext に変換できますが、そうすると datagrid を適切に動作させることができないためです。また、objectcontext を dbcontext に変換すると、自動生成されたdbcontext 型: GridView で使用するために DBContext を ObjectContext に変換します)。私はかなり単純な回避策を探しています-すべての型と変換を手作業でコーディングし始めると回避策があると確信していますが、自動生成されたコードの使いやすさを維持したいです-私は忙しくなりたくありませんコードジェネレーターは仕事をすることができますし、そうすべきです。解決策がない場合は、コントロールを ado.net に基づいて作成し、UI 以外のコードのエンティティ フレームワークをそのままにしておくことにします。
エラー
タイプ 'System.Data.Entity.DbSet' を 'System.Data.Objects.ObjectQuery' に暗黙的に変換できません
Documents\Visual Studio 11\Projects\WpfApplication3\WpfApplication3\MainWindow.xaml.cs
エラーの原因となった行 (Microsoft が EF テーブルをソースとしてデータグリッドをドラッグ アンド ドロップして作成): System.Data.Objects.ObjectQuery myTblsQuery = myDbsEntities.MyTbls;