2016-03-21 19 views
0

IQueryable<T>を返す方法を教えてもらえますか?IQueryableを返す方法<T>

私が取得しています:

は、暗黙的に System.Linq.IQueryable<TType>にタイプSystem.Linq.IQueryable<object>を変換できません。明示的な変換は、(は あなたはキャストが欠けている?)が存在

は、事前にありがとう

コード:

IQueryable<object> query = _dataValue.AsQueryable().Select(r => r.Value);    
return query; 

:あなたがからIQueryable<object>を返すようにしようと

public IQueryable<TType> ExecuteScript<TType>(string script, object parameters) where TType : class, new() 
{ 
     string typeName = String.Empty; 

     LuaScript lScript = LuaScript.Prepare(script); 
     var lLScript = lScript.Load(Context.Server()); 

     //Converts returned result into a string array. 
     var result = (string[])lLScript.Evaluate(Context.Database(), parameters); 

     if (result.Any()) 
     { 
      _dataValue = new SortedDictionary<string, string>(); 
      int i=0; 

      while(i < result.Count()) 
      { 
       _dataValue.Add(result[i], result[i+=1]); 
       i++; 
      } 
     } 

     IQueryable<object> query = _dataValue.AsQueryable().Select(r => r.Value);    

     return query;      
    } 
+0

なぜあなたは 'のIQueryable を'返すようにしたいですか?データはメモリに格納されていますので、なぜIEnumerable 'にしませんか? .AsQueryable()を呼び出す理由は非常に少ないです。 – Enigmativity

答えて

0

しかし、関数の戻り値の型はIQueryable<TType>です。

public IQueryable<TType> ExecuteScript<TType>(string script, object parameters) where TType : class, new() 

試してみてください。

IQueryable<TType> query = _dataValue.AsQueryable().Select(r => r.Value);    
return query; 
関連する問題