PageRenderTime 51ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/Source/facebook.Linq/Linq/Table.cs

https://bitbucket.org/assaframan/facebooklinq
C# | 90 lines | 71 code | 19 blank | 0 comment | 3 complexity | 082882d04f1d5f7cb7902711a6b30f0e MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Linq.Expressions;
  6. namespace facebook.Linq
  7. {
  8. interface IFqlTable
  9. {
  10. }
  11. public class FqlTable<T> : IQueryable, IQueryable<T>, IQueryProvider, IFqlTable
  12. {
  13. public FqlTable(FqlDataContext db)
  14. {
  15. this.context = db;
  16. }
  17. #region IEnumerable<T> Members
  18. public IEnumerator<T> GetEnumerator()
  19. {
  20. throw new NotImplementedException();
  21. }
  22. #endregion
  23. #region IEnumerable Members
  24. System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
  25. {
  26. throw new NotImplementedException();
  27. }
  28. #endregion
  29. #region IQueryable Members
  30. public Type ElementType
  31. {
  32. get { return typeof(T); }
  33. }
  34. public Expression Expression
  35. {
  36. get { return Expression.Constant(this); }
  37. }
  38. public IQueryProvider Provider
  39. {
  40. get { return this; }
  41. }
  42. #endregion
  43. #region IQueryProvider Members
  44. public IQueryable<TResult> CreateQuery<TResult>(Expression expression)
  45. {
  46. if (expression == null)
  47. {
  48. throw new ArgumentException("expression");
  49. }
  50. if (!typeof(IQueryable<TResult>).IsAssignableFrom(expression.Type))
  51. {
  52. throw new ArgumentException("expected type: "+typeof(IEnumerable<TResult>).FullName,"expression");
  53. }
  54. return new FqlDataQuery<TResult>(this.context, expression, typeof(T));
  55. }
  56. FqlDataContext context;
  57. public IQueryable CreateQuery(Expression expression)
  58. {
  59. throw new NotImplementedException();
  60. }
  61. public TResult Execute<TResult>(Expression expression)
  62. {
  63. throw new NotImplementedException();
  64. }
  65. public object Execute(Expression expression)
  66. {
  67. throw new NotImplementedException();
  68. }
  69. #endregion
  70. }
  71. }