DomainContext Load - PullRequest
       17

DomainContext Load

1 голос
/ 05 сентября 2010

Я попытался загрузить объект с помощью domainservice (async) в строке кода, например:

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

Но я получил следующую ошибку: тип «SilverlightApplication1.Book» нельзя использовать в качестве параметра типа »TEntity »в универсальном типе или методе« System.ServiceModel.DomainServices.Client.DomainContext.Load (System.ServiceModel.DomainServices.Client.EntityQuery, System.Action>, object) ».Не существует неявного преобразования ссылок из SilverlightApplication1.Book в System.ServiceModel.DomainServices.Client.Entit

как это исправить?

1 Ответ

4 голосов
/ 07 сентября 2010

вы не хотите использовать EntityQuery, посмотрите на трассировку стека, это решение для предоставления.

реализуйте метод 'GetBookById' на вашем DomainService (на сервере):

public IQueryableGetBookById (int Id)
{
возвращает this.ObjectContext.Book.Where (r => r.Id == Id);
}

И затем загружает данные какthis:

EntityQuery query = context.GetBookByIdQuery (1);
context.Load (query, OnBookLoaded, null);

private void OnBookLoaded (LoadOperation lo)
{
// С ДАННЫМИ, КОТОРЫЕ ВАМ НУЖНЫ, ПРИМЕЧАНИЕ: ИСПОЛЬЗУЙТЕ 'lo.Entities' там загруженные данные
}

...