Как использовать dyanamic linq в wcf? - PullRequest
0 голосов
/ 01 июня 2011

Я использую linq-to-entity для динамического извлечения данных и создал метод следующим образом:

public List<object> getDynamicList(string tablename, List<string> colnames)
{
    try
    {
        var query = DynamicQueryable.getDynamicData(dbcontext, tablename, colnames);
        List<object> objQueryable = new List<object>();
        object obj = query.AsQueryable();
        objQueryable.Add(obj);
        return objQueryable;
    }
    catch (Exception ex)
    {
        HandleError(ex);
    }
}

этот метод в службе wcf внутренне ссылается на динамический класс, заданный в примерах LINQ (C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Samples \ 1033) от MSVS2010.

когда я передаю имя таблицы, столбцы динамически, но на стороне клиента, при использовании этого метода он выдает ошибку - сервер не предоставил значимого ответа; это может быть вызвано несоответствием контракта, преждевременным завершением сеанса или внутренней ошибкой сервера. wcf вызывает проблему с возвращаемым типом возврата?

пожалуйста, предложите ......

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

Попробуйте вместо этого использовать возврат ToList (), поскольку Linq использует концепцию Deffer Loading, которая означает, что при обращении к ToList или Result на стороне клиента он пытается подключиться к серверу для получения результата, и это происходит там, где происходит сбой.Рекомендуется при использовании такого типа ORM отсоединять свои объекты и отправлять результат клиенту.

0 голосов
/ 01 июня 2011

Вам следует обратиться к службам данных WCF, также известным как oData Services

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...