public override Expression Deserialize(XElement expressionXml)
 {
     if (expressionXml.Name.LocalName == "Table")
     {
         Type   type  = resolver.GetType(expressionXml.Attribute("Type").Value);
         ITable table = dc.GetTable(type);
         // REturning a random IQueryable of the right kind so that we can re-create the IQueryable
         // instance at the end of this method...
         QueryKind = table;
         return(Expression.Constant(table));
     }
     return(null);
 }
Exemple #2
0
            public override Expression Deserialize(XElement expressionXml)
            {
                if (expressionXml.Name.LocalName == "Table")
                {
                    //ITable table = dc.GetTable(type); // REturning a random IQueryable of the right kind so that we can re-create the IQueryable // instance at the end of this method...
                    //TODO: It is maybe better directly create the kind from Nhibernate.Linq?
                    // In that case - the session has to be controlled in Evaluator class
                    Type type = resolver.GetType(expressionXml.Attribute("Type").Value);
                    //Type type = mappings.First(t => t.Item2 == typeb).Item1;

                    Type ecg = typeof(NhQueryable <>).MakeGenericType(type);
                    QueryKind = (IQueryable)Activator.CreateInstance(ecg, new object[] { null });
                    return(Expression.Constant(QueryKind));
                }
                return(null);
            }