Queryable.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852
  1. //
  2. // Queryable.cs
  3. //
  4. // Authors:
  5. // Marek Safar ([email protected])
  6. // Alejandro Serrano "Serras" ([email protected])
  7. // Jb Evain ([email protected])
  8. //
  9. // Copyright (C) 2007 Novell, Inc (http://www.novell.com)
  10. //
  11. // Permission is hereby granted, free of charge, to any person obtaining
  12. // a copy of this software and associated documentation files (the
  13. // "Software"), to deal in the Software without restriction, including
  14. // without limitation the rights to use, copy, modify, merge, publish,
  15. // distribute, sublicense, and/or sell copies of the Software, and to
  16. // permit persons to whom the Software is furnished to do so, subject to
  17. // the following conditions:
  18. //
  19. // The above copyright notice and this permission notice shall be
  20. // included in all copies or substantial portions of the Software.
  21. //
  22. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  23. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  24. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  25. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  26. // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  27. // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  28. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  29. //
  30. using System;
  31. using System.Collections.Generic;
  32. using System.Linq.Expressions;
  33. using System.Reflection;
  34. namespace System.Linq {
  35. public static class Queryable {
  36. static MethodInfo MakeGeneric (MethodBase method, params Type [] parameters)
  37. {
  38. return ((MethodInfo) method).MakeGenericMethod (parameters);
  39. }
  40. static Expression StaticCall (MethodInfo method, params Expression [] expressions)
  41. {
  42. return Expression.Call (null, method, expressions);
  43. }
  44. static TRet Execute<TRet, TSource> (this IQueryable<TSource> source, MethodBase current)
  45. {
  46. return source.Provider.Execute<TRet> (
  47. StaticCall (
  48. MakeGeneric (current, typeof (TSource)),
  49. source.Expression));
  50. }
  51. public static int Count<TSource> (this IQueryable<TSource> source)
  52. {
  53. Check.Source (source);
  54. return source.Execute<int, TSource> (MethodBase.GetCurrentMethod ());
  55. }
  56. public static int Count<TSource> (this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
  57. {
  58. Check.SourceAndPredicate (source, predicate);
  59. return source.Provider.Execute<int> (
  60. StaticCall (
  61. MakeGeneric (MethodBase.GetCurrentMethod (), typeof (TSource)),
  62. source.Expression,
  63. Expression.Quote (predicate)));
  64. }
  65. public static long LongCount<TSource> (this IQueryable<TSource> source)
  66. {
  67. Check.Source (source);
  68. return source.Execute<long, TSource> (MethodBase.GetCurrentMethod ());
  69. }
  70. public static long LongCount<TSource> (this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
  71. {
  72. Check.SourceAndPredicate (source, predicate);
  73. return source.Provider.Execute<long> (
  74. StaticCall (
  75. MakeGeneric (MethodBase.GetCurrentMethod (), typeof (TSource)),
  76. source.Expression,
  77. Expression.Quote (predicate)));
  78. }
  79. public static int Sum (this IQueryable<int> source)
  80. {
  81. Check.Source (source);
  82. return source.Provider.Execute<int> (
  83. StaticCall (
  84. (MethodInfo) MethodBase.GetCurrentMethod (),
  85. source.Expression));
  86. }
  87. public static int Sum<TSource> (this IQueryable<TSource> source, Expression<Func<TSource, int>> selector)
  88. {
  89. throw new NotImplementedException ();
  90. }
  91. public static int? Sum (this IQueryable<int?> source)
  92. {
  93. throw new NotImplementedException ();
  94. }
  95. public static int? Sum<TSource> (
  96. this IQueryable<TSource> source,
  97. Func<TSource, int?> selector)
  98. {
  99. throw new NotImplementedException ();
  100. }
  101. public static long Sum (this IQueryable<long> source)
  102. {
  103. throw new NotImplementedException ();
  104. }
  105. public static long Sum<TSource> (
  106. this IQueryable<TSource> source,
  107. Func<TSource, long> selector)
  108. {
  109. throw new NotImplementedException ();
  110. }
  111. public static long? Sum (this IQueryable<long?> source)
  112. {
  113. throw new NotImplementedException ();
  114. }
  115. public static long? Sum<TSource> (
  116. this IQueryable<TSource> source,
  117. Func<TSource, long?> selector)
  118. {
  119. throw new NotImplementedException ();
  120. }
  121. public static double Sum (this IQueryable<double> source)
  122. {
  123. throw new NotImplementedException ();
  124. }
  125. public static double Sum<TSource> (
  126. this IQueryable<TSource> source,
  127. Func<TSource, double> selector)
  128. {
  129. throw new NotImplementedException ();
  130. }
  131. public static double? Sum (this IQueryable<double?> source)
  132. {
  133. throw new NotImplementedException ();
  134. }
  135. public static double? Sum<TSource> (
  136. this IQueryable<TSource> source,
  137. Func<TSource, double?> selector)
  138. {
  139. throw new NotImplementedException ();
  140. }
  141. public static decimal Sum (this IQueryable<decimal> source)
  142. {
  143. throw new NotImplementedException ();
  144. }
  145. public static decimal Sum<TSource> (
  146. this IQueryable<TSource> source,
  147. Func<TSource, decimal> selector)
  148. {
  149. throw new NotImplementedException ();
  150. }
  151. public static decimal? Sum (this IQueryable<decimal?> source)
  152. {
  153. throw new NotImplementedException ();
  154. }
  155. public static decimal? Sum<TSource> (
  156. this IQueryable<TSource> source,
  157. Func<TSource, decimal?> selector)
  158. {
  159. throw new NotImplementedException ();
  160. }
  161. public static int Min (this IQueryable<int> source)
  162. {
  163. throw new NotImplementedException ();
  164. }
  165. public static int? Min (this IQueryable<int?> source)
  166. {
  167. throw new NotImplementedException ();
  168. }
  169. public static long Min (this IQueryable<long> source)
  170. {
  171. throw new NotImplementedException ();
  172. }
  173. public static long? Min (this IQueryable<long?> source)
  174. {
  175. throw new NotImplementedException ();
  176. }
  177. public static double Min (this IQueryable<double> source)
  178. {
  179. throw new NotImplementedException ();
  180. }
  181. public static double? Min (this IQueryable<double?> source)
  182. {
  183. throw new NotImplementedException ();
  184. }
  185. public static decimal Min (this IQueryable<decimal> source)
  186. {
  187. throw new NotImplementedException ();
  188. }
  189. public static decimal? Min (this IQueryable<decimal?> source)
  190. {
  191. throw new NotImplementedException ();
  192. }
  193. public static TSource Min<TSource> (this IQueryable<TSource> source)
  194. {
  195. throw new NotImplementedException ();
  196. }
  197. public static int Min<TSource> (
  198. this IQueryable<TSource> source,
  199. Func<TSource, int> selector)
  200. {
  201. throw new NotImplementedException ();
  202. }
  203. public static int? Min<TSource> (
  204. this IQueryable<TSource> source,
  205. Func<TSource, int?> selector)
  206. {
  207. throw new NotImplementedException ();
  208. }
  209. public static long Min<TSource> (
  210. this IQueryable<TSource> source,
  211. Func<TSource, long> selector)
  212. {
  213. throw new NotImplementedException ();
  214. }
  215. public static long? Min<TSource> (
  216. this IQueryable<TSource> source,
  217. Func<TSource, long?> selector)
  218. {
  219. throw new NotImplementedException ();
  220. }
  221. public static double Min<TSource> (
  222. this IQueryable<TSource> source,
  223. Func<TSource, double> selector)
  224. {
  225. throw new NotImplementedException ();
  226. }
  227. public static double? Min<TSource> (
  228. this IQueryable<TSource> source,
  229. Func<TSource, double?> selector)
  230. {
  231. throw new NotImplementedException ();
  232. }
  233. public static decimal Min<TSource> (
  234. this IQueryable<TSource> source,
  235. Func<TSource, decimal> selector)
  236. {
  237. throw new NotImplementedException ();
  238. }
  239. public static decimal? Min<TSource> (
  240. this IQueryable<TSource> source,
  241. Func<TSource, decimal?> selector)
  242. {
  243. throw new NotImplementedException ();
  244. }
  245. public static TResult Min<TSource, TResult> (
  246. this IQueryable<TSource> source,
  247. Func<TSource, TResult> selector)
  248. {
  249. throw new NotImplementedException ();
  250. }
  251. public static int Max (this IQueryable<int> source)
  252. {
  253. throw new NotImplementedException ();
  254. }
  255. public static int? Max (this IQueryable<int?> source)
  256. {
  257. throw new NotImplementedException ();
  258. }
  259. public static long Max (this IQueryable<long> source)
  260. {
  261. throw new NotImplementedException ();
  262. }
  263. public static long? Max (this IQueryable<long?> source)
  264. {
  265. throw new NotImplementedException ();
  266. }
  267. public static double Max (
  268. this IQueryable<double> source)
  269. {
  270. throw new NotImplementedException ();
  271. }
  272. public static double? Max (
  273. this IQueryable<double?> source)
  274. {
  275. throw new NotImplementedException ();
  276. }
  277. public static decimal Max (
  278. this IQueryable<decimal> source)
  279. {
  280. throw new NotImplementedException ();
  281. }
  282. public static decimal? Max (
  283. this IQueryable<decimal?> source)
  284. {
  285. throw new NotImplementedException ();
  286. }
  287. public static TSource Max<TSource> (
  288. this IQueryable<TSource> source)
  289. {
  290. throw new NotImplementedException ();
  291. }
  292. public static int Max<TSource> (
  293. this IQueryable<TSource> source,
  294. Func<TSource, int> selector)
  295. {
  296. throw new NotImplementedException ();
  297. }
  298. public static int? Max<TSource> (
  299. this IQueryable<TSource> source,
  300. Func<TSource, int?> selector)
  301. {
  302. throw new NotImplementedException ();
  303. }
  304. public static long Max<TSource> (
  305. this IQueryable<TSource> source,
  306. Func<TSource, long> selector)
  307. {
  308. throw new NotImplementedException ();
  309. }
  310. public static long? Max<TSource> (
  311. this IQueryable<TSource> source,
  312. Func<TSource, long?> selector)
  313. {
  314. throw new NotImplementedException ();
  315. }
  316. public static double Max<TSource> (
  317. this IQueryable<TSource> source,
  318. Func<TSource, double> selector)
  319. {
  320. throw new NotImplementedException ();
  321. }
  322. public static double? Max<TSource> (
  323. this IQueryable<TSource> source,
  324. Func<TSource, double?> selector)
  325. {
  326. throw new NotImplementedException ();
  327. }
  328. public static decimal Max<TSource> (
  329. this IQueryable<TSource> source,
  330. Func<TSource, decimal> selector)
  331. {
  332. throw new NotImplementedException ();
  333. }
  334. public static decimal? Max<TSource> (
  335. this IQueryable<TSource> source,
  336. Func<TSource, decimal?> selector)
  337. {
  338. throw new NotImplementedException ();
  339. }
  340. public static TResult Max<TSource, TResult> (
  341. this IQueryable<TSource> source,
  342. Func<TSource, TResult> selector)
  343. {
  344. throw new NotImplementedException ();
  345. }
  346. public static double Average (this IQueryable<int> source)
  347. {
  348. throw new NotImplementedException ();
  349. }
  350. public static double? Average (this IQueryable<int?> source)
  351. {
  352. throw new NotImplementedException ();
  353. }
  354. public static double Average (this IQueryable<long> source)
  355. {
  356. throw new NotImplementedException ();
  357. }
  358. public static double? Average (this IQueryable<long?> source)
  359. {
  360. throw new NotImplementedException ();
  361. }
  362. public static double Average (this IQueryable<double> source)
  363. {
  364. throw new NotImplementedException ();
  365. }
  366. public static double? Average (this IQueryable<double?> source)
  367. {
  368. throw new NotImplementedException ();
  369. }
  370. public static decimal Average (this IQueryable<decimal> source)
  371. {
  372. throw new NotImplementedException ();
  373. }
  374. public static decimal? Average (this IQueryable<decimal?> source)
  375. {
  376. throw new NotImplementedException ();
  377. }
  378. public static double Average<TSource> (this IQueryable<TSource> source,
  379. Func<TSource, int> selector)
  380. {
  381. throw new NotImplementedException ();
  382. }
  383. public static double? Average<TSource> (this IQueryable<TSource> source,
  384. Func<TSource, int?> selector)
  385. {
  386. throw new NotImplementedException ();
  387. }
  388. public static double Average<TSource> (this IQueryable<TSource> source,
  389. Func<TSource, long> selector)
  390. {
  391. throw new NotImplementedException ();
  392. }
  393. public static double? Average<TSource> (this IQueryable<TSource> source,
  394. Func<TSource, long?> selector)
  395. {
  396. throw new NotImplementedException ();
  397. }
  398. public static double Average<TSource> (this IQueryable<TSource> source,
  399. Func<TSource, double> selector)
  400. {
  401. throw new NotImplementedException ();
  402. }
  403. public static double? Average<TSource> (this IQueryable<TSource> source,
  404. Func<TSource, double?> selector)
  405. {
  406. throw new NotImplementedException ();
  407. }
  408. public static decimal Average<TSource> (this IQueryable<TSource> source,
  409. Func<TSource, decimal> selector)
  410. {
  411. throw new NotImplementedException ();
  412. }
  413. public static decimal? Average<TSource> (this IQueryable<TSource> source,
  414. Func<TSource, decimal?> selector)
  415. {
  416. throw new NotImplementedException ();
  417. }
  418. public static TSource Aggregate<TSource> (
  419. this IQueryable<TSource> source,
  420. Func<TSource, TSource, TSource> func)
  421. {
  422. throw new NotImplementedException ();
  423. }
  424. public static U Aggregate<TSource, U> (
  425. this IQueryable<TSource> source,
  426. U seed,
  427. Func<U, TSource, U> func)
  428. {
  429. throw new NotImplementedException ();
  430. }
  431. public static IEnumerable<TSource> Concat<TSource> (
  432. this IQueryable<TSource> first,
  433. IEnumerable<TSource> second)
  434. {
  435. throw new NotImplementedException ();
  436. }
  437. public static IEnumerable<TResult> OfType<TResult> (this IQueryable source)
  438. {
  439. throw new NotImplementedException ();
  440. }
  441. public static IEnumerable<TResult> Cast<TResult> (this IQueryable source)
  442. {
  443. throw new NotImplementedException ();
  444. }
  445. public static TSource First<TSource> (this IQueryable<TSource> source)
  446. {
  447. throw new NotImplementedException ();
  448. }
  449. public static TSource First<TSource> (
  450. this IQueryable<TSource> source,
  451. Func<TSource, bool> predicate)
  452. {
  453. throw new NotImplementedException ();
  454. }
  455. public static TSource FirstOrDefault<TSource> (this IQueryable<TSource> source)
  456. {
  457. throw new NotImplementedException ();
  458. }
  459. public static TSource FirstOrDefault<TSource> (
  460. this IQueryable<TSource> source,
  461. Func<TSource, bool> predicate)
  462. {
  463. throw new NotImplementedException ();
  464. }
  465. public static TSource Last<TSource> (this IQueryable<TSource> source)
  466. {
  467. throw new NotImplementedException ();
  468. }
  469. public static TSource Last<TSource> (
  470. this IQueryable<TSource> source,
  471. Func<TSource, bool> predicate)
  472. {
  473. throw new NotImplementedException ();
  474. }
  475. public static TSource LastOrDefault<TSource> (this IQueryable<TSource> source)
  476. {
  477. throw new NotImplementedException ();
  478. }
  479. public static TSource LastOrDefault<TSource> (
  480. this IQueryable<TSource> source,
  481. Func<TSource, bool> predicate)
  482. {
  483. throw new NotImplementedException ();
  484. }
  485. public static TSource Single<TSource> (this IQueryable<TSource> source)
  486. {
  487. throw new NotImplementedException ();
  488. }
  489. public static TSource Single<TSource> (
  490. this IQueryable<TSource> source,
  491. Func<TSource, bool> predicate)
  492. {
  493. throw new NotImplementedException ();
  494. }
  495. public static TSource SingleOrDefault<TSource> (this IQueryable<TSource> source)
  496. {
  497. throw new NotImplementedException ();
  498. }
  499. public static TSource SingleOrDefault<TSource> (
  500. this IQueryable<TSource> source,
  501. Func<TSource, bool> predicate)
  502. {
  503. throw new NotImplementedException ();
  504. }
  505. public static TSource ElementAt<TSource> (
  506. this IQueryable<TSource> source,
  507. int index)
  508. {
  509. throw new NotImplementedException ();
  510. }
  511. public static TSource ElementAtOrDefault<TSource> (
  512. this IQueryable<TSource> source,
  513. int index)
  514. {
  515. throw new NotImplementedException ();
  516. }
  517. public static IEnumerable<TSource> DefaultIfEmpty<TSource> (
  518. this IQueryable<TSource> source)
  519. {
  520. throw new NotImplementedException ();
  521. }
  522. public static IEnumerable<TSource> DefaultIfEmpty<TSource> (
  523. this IQueryable<TSource> source,
  524. TSource defaultValue)
  525. {
  526. throw new NotImplementedException ();
  527. }
  528. public static IEnumerable<TSource> Repeat<TSource> (this TSource element, int count)
  529. {
  530. throw new NotImplementedException ();
  531. }
  532. private static List<TSource> ContainsGroup<K, TSource>(
  533. Dictionary<K, List<TSource>> items, K key, IEqualityComparer<K> comparer)
  534. {
  535. throw new NotImplementedException ();
  536. }
  537. public static IQueryable<IGrouping<K, TSource>> GroupBy<TSource, K> (
  538. this IQueryable<TSource> source,
  539. Func<TSource, K> keySelector)
  540. {
  541. throw new NotImplementedException ();
  542. }
  543. public static IQueryable<IGrouping<K, E>> GroupBy<TSource, K, E> (
  544. this IQueryable<TSource> source,
  545. Func<TSource, K> keySelector,
  546. Func<TSource, E> elementSelector)
  547. {
  548. throw new NotImplementedException ();
  549. }
  550. public static IEnumerable<IGrouping<K, E>> GroupBy<TSource, K, E> (
  551. this IQueryable<TSource> source,
  552. Func<TSource, K> keySelector,
  553. Func<TSource, E> elementSelector,
  554. IEqualityComparer<K> comparer)
  555. {
  556. throw new NotImplementedException ();
  557. }
  558. public static IOrderedQueryable<TSource> OrderBy<TSource, TKey> (
  559. this IQueryable<TSource> source,
  560. Func<TSource, TKey> keySelector)
  561. {
  562. throw new NotImplementedException ();
  563. }
  564. public static IOrderedQueryable<TSource> OrderBy<TSource, TKey> (
  565. this IQueryable<TSource> source,
  566. Func<TSource, TKey> keySelector,
  567. IComparer<TKey> comparer)
  568. {
  569. throw new NotImplementedException ();
  570. }
  571. public static IOrderedQueryable<TSource> OrderByDescending<TSource, TKey> (
  572. this IQueryable<TSource> source,
  573. Func<TSource, TKey> keySelector)
  574. {
  575. throw new NotImplementedException ();
  576. }
  577. public static IOrderedQueryable<TSource> OrderByDescending<TSource, TKey> (
  578. this IQueryable<TSource> source,
  579. Func<TSource, TKey> keySelector,
  580. IComparer<TKey> comparer)
  581. {
  582. throw new NotImplementedException ();
  583. }
  584. public static IOrderedQueryable<TSource> ThenBy<TSource, TKey> (
  585. this IOrderedQueryable<TSource> source,
  586. Func<TSource, TKey> keySelector)
  587. {
  588. throw new NotImplementedException ();
  589. }
  590. public static IOrderedQueryable<TSource> ThenBy<TSource, TKey> (
  591. this IOrderedQueryable<TSource> source,
  592. Func<TSource, TKey> keySelector,
  593. IComparer<TKey> comparer)
  594. {
  595. throw new NotImplementedException ();
  596. }
  597. public static IOrderedQueryable<TSource> ThenByDescending<TSource, TKey> (
  598. this IOrderedQueryable<TSource> source,
  599. Func<TSource, TKey> keySelector)
  600. {
  601. throw new NotImplementedException ();
  602. }
  603. public static IOrderedQueryable<TSource> ThenByDescending<TSource, TKey> (
  604. this IOrderedQueryable<TSource> source,
  605. Func<TSource, TKey> keySelector,
  606. IComparer<TKey> comparer)
  607. {
  608. throw new NotImplementedException ();
  609. }
  610. public static IQueryable<TSource> Reverse<TSource> (
  611. this IQueryable<TSource> source)
  612. {
  613. throw new NotImplementedException ();
  614. }
  615. public static IEnumerable<TSource> Take<TSource> (
  616. this IQueryable<TSource> source,
  617. int count)
  618. {
  619. throw new NotImplementedException ();
  620. }
  621. public static IEnumerable<TSource> Skip<TSource> (
  622. this IQueryable<TSource> source,
  623. int count)
  624. {
  625. throw new NotImplementedException ();
  626. }
  627. public static IEnumerable<TSource> TakeWhile<TSource> (
  628. this IQueryable<TSource> source,
  629. Func<TSource, bool> predicate)
  630. {
  631. throw new NotImplementedException ();
  632. }
  633. public static IEnumerable<TSource> TakeWhile<TSource> (
  634. this IQueryable<TSource> source,
  635. Func<TSource, int, bool> predicate)
  636. {
  637. throw new NotImplementedException ();
  638. }
  639. public static IEnumerable<TSource> SkipWhile<TSource> (
  640. this IQueryable<TSource> source,
  641. Func<TSource, bool> predicate)
  642. {
  643. throw new NotImplementedException ();
  644. }
  645. public static IEnumerable<TSource> SkipWhile<TSource> (
  646. this IQueryable<TSource> source,
  647. Func<TSource, int, bool> predicate)
  648. {
  649. throw new NotImplementedException ();
  650. }
  651. public static IEnumerable<TResult> Select<TSource, TResult> (
  652. this IQueryable<TSource> source,
  653. Func<TSource, TResult> selector)
  654. {
  655. throw new NotImplementedException ();
  656. }
  657. public static IEnumerable<TResult> Select<TSource, TResult> (
  658. this IQueryable<TSource> source,
  659. Func<TSource, int, TResult> selector)
  660. {
  661. throw new NotImplementedException ();
  662. }
  663. public static IEnumerable<TResult> SelectMany<TSource, TResult> (
  664. this IQueryable<TSource> source,
  665. Func<TSource, IQueryable<TResult>> selector)
  666. {
  667. throw new NotImplementedException ();
  668. }
  669. public static IEnumerable<TResult> SelectMany<TSource, TResult> (
  670. this IQueryable<TSource> source,
  671. Func<TSource, int, IQueryable<TResult>> selector)
  672. {
  673. throw new NotImplementedException ();
  674. }
  675. public static bool Any<TSource> (this IQueryable<TSource> source)
  676. {
  677. throw new NotImplementedException ();
  678. }
  679. public static bool Any<TSource> (
  680. this IQueryable<TSource> source,
  681. Func<TSource, bool> predicate)
  682. {
  683. throw new NotImplementedException ();
  684. }
  685. public static bool All<TSource> (
  686. this IQueryable<TSource> source,
  687. Func<TSource, bool> predicate)
  688. {
  689. throw new NotImplementedException ();
  690. }
  691. public static bool Contains<TSource> (this IQueryable<TSource> source, TSource value)
  692. {
  693. throw new NotImplementedException ();
  694. }
  695. public static IEnumerable<TSource> Where<TSource> (
  696. this IQueryable<TSource> source,
  697. Func<TSource, bool> predicate)
  698. {
  699. throw new NotImplementedException ();
  700. }
  701. public static IEnumerable<TSource> Where<TSource> (
  702. this IQueryable<TSource> source,
  703. Func<TSource, int, bool> predicate)
  704. {
  705. throw new NotImplementedException ();
  706. }
  707. public static IEnumerable<V> Join<TSource, U, K, V> (
  708. this IQueryable<TSource> outer,
  709. IQueryable<U> inner,
  710. Func<TSource, K> outerKeySelector,
  711. Func<U, K> innerKeySelector,
  712. Func<TSource, U, V> resultSelector)
  713. {
  714. throw new NotImplementedException ();
  715. }
  716. }
  717. }