エンティティを公開するためのEntity Frameworkを持つDALがあります。これらのエンティティは、WCFサービスプロジェクトで使用され、クライアントに公開されます。WCFサービスを使用して公開されているクライアントアプリケーションのEntity Frameworkエンティティを消費する
サービス参照でSilverlight Webプロジェクトでこれらのエンティティを使用します。次に、コード共有にRIAドメインサービスを使用しています。しかし、操作をロードしようとしているときに次のエラーが表示されます。GetGenres()はすべてのGenresをロードするドメインサービス操作です。
[Invoke]
public IEnumerable<Genre> GetGenres()
{
return proxy.GetGenres(); //proxy is wcf proxy.
}
このクエリはリストを返します。 Genreは、WCFServiceReferenceから取得したDataContract i です。
実際のエラー:
The type 'SL.Web.ServiceReference.Genre' cannot be used as type parameter 'TEntity' in the generic type or method 'System.ServiceModel.DomainServices.Client.DomainContext.Load(System.ServiceModel.DomainServices.Client.EntityQuery)'. There is no implicit reference conversion from 'SL.Web.ChinookServiceReference.Genre' to 'System.ServiceModel.DomainServices.Client.Entity'.
質問がある:
が、私はこの方法を行うことができますか私はWCFサービスのDataContractにマップSilverlightのカスタムクラスを持っているとSilverlightの間でカスタムエンティティを共有する必要がありますクライアントとWebプロジェクト?
DomainServiceを使用してWebとクライアント間のサービス参照からエンティティを共有する方法はありますか?
編集ありがとうございます。 – user695663
GetGenresをDomainService、または単純なWCFサービスとして公開していますか? – JMarsch
ドメインサービス操作のみ。 – user695663