Использование сущностей Entity Framework в клиентском приложении, предоставляемых с помощью служб WCF - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть DAL, где у меня есть Entity Framework для предоставления сущностей.Эти объекты используются в проекте службы WCF и доступны клиенту.

Я использую эти объекты в веб-проекте Silverlight через ссылку на службу.Тогда я использую службу домена RIA для совместного использования кода.Но я получаю следующую ошибку при попытке загрузить операцию:

DomainContext context= new DomainContext();
LoadOperation<Genre> lo = context.Load<Genre>(context.GetGenres());

GetGenres () - это операция службы домена, в которую загружаются все жанры.

    [Invoke]
    public IEnumerable<Genre> GetGenres()
    {
        return proxy.GetGenres();  //proxy is wcf proxy.
    }

Этот запрос возвращает список.Где Genre - это DataContract, который я получил из WCFServiceReference.

Фактическая ошибка:

Тип 'SL.Web.ServiceReference.Genre' нельзя использовать в качестве параметра типа 'TEntity' вуниверсальный тип или метод «System.ServiceModel.DomainServices.Client.DomainContext.Load (System.ServiceModel.DomainServices.Client.EntityQuery)».Не существует неявного преобразования ссылок из 'SL.Web.ChinookServiceReference.Genre' в 'System.ServiceModel.DomainServices.Client.Entity'.

Вопрос:

Могу ли я сделатьтаким образом, или я должен иметь пользовательский класс в Silverlight, который сопоставляется с данными службы WCF и совместно использует пользовательский объект между клиентом Silverlight и веб-проектом?

Существует ли способ обмена объектами из ссылки на службу между Webа клиент использует DomainService ??

1 Ответ

0 голосов
/ 22 февраля 2012

Проблема в том, что GetGenres помечены как операция Invoke. Если вы отметите его как операцию запроса и перестроите, я думаю, что вы будете в хорошей форме.

...