Можем ли мы использовать LINQKIT со службами данных WCF?

Мне не удалось найти в Интернете какие-либо ресурсы с примерами использования LINQKIT со службами данных WCF. Является ли это возможным ? Я пытался это сделать, но в классе ExpressionVisitor в методе Visit произошел сбой с ошибкой - тип необработанного выражения 10000.

throw new Exception (string.Format ("Unhandled expression type: '{0}'", exp.NodeType));

Есть ли альтернатива этому.

Пример выражения приведен ниже. Он успешно строится, но во время выполнения выдает вышеуказанную ошибку.

            DataServiceQuery<ClassName> query = (DataServiceQuery<ClassName>)
            (from c in data.<ClassName>.AsExpandable()
            where c.<ChildClass>.Any(SamplePredicate.Compile())
            select c);

person user3587767    schedule 05.06.2014    source источник


Ответы (1)


Да, это возможно:

try
        {
            PoseidonReadEntities poseidonReadEntities = new PoseidonReadEntities(GetServiceUri());

            var predicate = PredicateBuilder.New<vw_PDS_Grants>(true);


            predicate = predicate.And(g => g.Trust == trShortCode);

            if (searchTGN.HasValue)
            {
                predicate = predicate.And(g => g.TrustGrantNo == (int)searchTGN);

            }

            DataServiceQuery<vw_PDS_Grants> dsGrantQuery = poseidonReadEntities.vw_PDS_Grants;

            DataServiceQuery<vw_PDS_Grants> gq = (DataServiceQuery<vw_PDS_Grants>)dsGrantQuery.Where(predicate).OrderByDescending(g => g.GrantID).Take((int)rowsToReturn);

            var grants = await Task.Factory.FromAsync(gq.BeginExecute(null, null), asyncResult => gq.EndExecute(asyncResult));

            DS_vw_PDS_Grants = grants.ToList();

            return DS_vw_PDS_Grants;
        }
        catch (DataServiceQueryException Ex)
        {
            string error = Ex.Message;
        }

        return null;
person DNM    schedule 20.10.2017