PageRenderTime 47ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/Source/facebook.Linq/Linq/FqlModel/Expression.cs

https://bitbucket.org/assaframan/facebooklinq
C# | 72 lines | 36 code | 9 blank | 27 comment | 0 complexity | 0d2b68426e382e901ab07c270b93cf04 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Linq.Expressions;
  6. namespace facebook.Linq
  7. {
  8. internal abstract class SqlExpression : SqlNode
  9. {
  10. // Fields
  11. private Type clrType;
  12. // Methods
  13. internal SqlExpression(SqlNodeType nodeType, Type clrType, Expression sourceExpression)
  14. : base(nodeType, sourceExpression)
  15. {
  16. this.clrType = clrType;
  17. }
  18. internal void SetClrType(Type type)
  19. {
  20. this.clrType = type;
  21. }
  22. // Properties
  23. internal Type ClrType
  24. {
  25. get
  26. {
  27. return this.clrType;
  28. }
  29. }
  30. internal bool IsConstantColumn
  31. {
  32. get
  33. {
  34. //if (base.NodeType == SqlNodeType.Column)
  35. //{
  36. // SqlColumn column = (SqlColumn)this;
  37. // if (column.Expression != null)
  38. // {
  39. // return column.Expression.IsConstantColumn;
  40. // }
  41. //}
  42. //else
  43. //{
  44. // if (base.NodeType == SqlNodeType.ColumnRef)
  45. // {
  46. // return ((SqlColumnRef)this).Column.IsConstantColumn;
  47. // }
  48. // if (base.NodeType == SqlNodeType.OptionalValue)
  49. // {
  50. // return ((SqlOptionalValue)this).Value.IsConstantColumn;
  51. // }
  52. // if ((base.NodeType == SqlNodeType.Value) || (base.NodeType == SqlNodeType.Parameter))
  53. // {
  54. // return true;
  55. // }
  56. //}
  57. //return false;
  58. return false;
  59. }
  60. }
  61. internal abstract ProviderType SqlType { get; }
  62. }
  63. }