1

次のようなコード行で domainservice(async) によってエンティティをロードしようとしました:

context.Load<Book>(
context.Books.Where(b => b.BookID == 1),
(s, e) =>
{
    _book = e.Results;
},
null);

しかし、次のエラーが発生しました: 型 'SilverlightApplication1.Book' は、ジェネリック型またはメソッド 'System.ServiceModel.DomainServices.Client.DomainContext.Load(System.ServiceModel.DomainServices.Client.EntityQuery') で型パラメーター 'TEntity' として使用できません、System.Action>、オブジェクト)」。「SilverlightApplication1.Book」から「System.ServiceModel.DomainServices.Client.Entit」への暗黙的な参照変換はありません。

それを修正する方法は?

4

1 に答える 1

4

EntityQueryを使用する必要があります。スタックトレースを見て、解決策を見つけてください。

DomainService (サーバー側) でメソッド 'GetBookById' を実装します。

public IQueryable GetBookById(int Id)
{
return this.ObjectContext.Book.Where(r => r.Id == Id);
}

そして、次のようにデータをロードします。

EntityQuery クエリ = context.GetBookByIdQuery(1);
context.Load(クエリ、OnBookLoaded、null);

private void OnBookLoaded(LoadOperation lo)
{
// 必要なデータを処理します。注意: 'lo.Entities' を使用すると、データがロードされます
}

于 2010-09-07T19:28:45.920 に答える