1

私は WCF RIA 開発に不慣れです。WCF ria をサポートする Silverlight 4 アプリケーションを作成しました。次に、ローカル データベース ファイルに基づいて ADO.Net エンティティ データ モデルを作成しました。ドメイン サービス クラスを作成しようとすると、「使用可能なコンテキスト クラス」の下のドロップダウンが空になり、データソースからのテーブルの名前が表示されません。

ここで何かステップが抜けているのでしょうか、それとも何かが正しくインストールされていないのでしょうか。

VS 2010 と SQL Server Express 2008 を使用しています。

4

3 に答える 3

7

VS2012 を実行している場合は、http://support.microsoft.com/kb/2745294を参照 してください。

ここでの情報の要約は次のとおりです。

Visual Studio 2012 では、Entity Framework は既定で 'DbContext' ベースのコンテキスト クラスを作成するようになりましたが、WCF RIA サービスは 'DbContext' ベースのコンテキスト クラスをサポートしていません。Entity Framework モデルを WCF RIA サービスで利用するには、それを「ObjectContext」ベースのモデルに変換する必要があります。これは、次の手順を使用して行うことができます。

  1. デザイナーでエンティティ モデルを開き、「コード生成戦略」を「なし」から「デフォルト」に変更します。

  2. モデルに隣接する 2 つの「.tt」ファイルを削除します

  3. プロジェクトを再構築する

これらの手順を実行すると、「利用可能なコンテキスト クラス」リストでエンティティ モデルのコンテキスト クラスを選択できるようになります。この手順の副作用は、エンティティ モデルを Entity Framework DbContext ベースのモデルから ObjectContext ベースのモデルに変換したことです。

于 2013-01-26T05:07:27.500 に答える
0

接続文字列を確認して、メタデータ リソース ファイルの参照が欠落していないことを確認してください。接続文字列は次のようになります。

<add name="conString" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=DBName;persist security info=True;user id=username;password=123456;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
于 2012-06-28T12:20:35.340 に答える
0

コード優先設計を使用している場合は、RIAServices.EntityFramework を追加して EntityFramework > 4.2 のサポートを追加する必要があります。これは次の方法で実行できます。

Install-Package RIAServices.EntityFramework
于 2014-03-24T03:43:03.043 に答える