MySql.Data.MySqlClient.MySqlProviderServices.SetQueryExpectedTypes C# (CSharp) Method

SetQueryExpectedTypes() private method

Sets the expected column types for a given query command tree
private SetQueryExpectedTypes ( System.Data.Common.CommandTrees.DbQueryCommandTree tree, EFMySqlCommand cmd ) : void
tree System.Data.Common.CommandTrees.DbQueryCommandTree
cmd MySql.Data.Entity.EFMySqlCommand
return void
    private void SetQueryExpectedTypes(DbQueryCommandTree tree, EFMySqlCommand cmd)
    {
      DbProjectExpression projectExpression = tree.Query as DbProjectExpression;
      if (projectExpression != null)
      {
        EdmType resultsType = projectExpression.Projection.ResultType.EdmType;

        StructuralType resultsAsStructuralType = resultsType as StructuralType;
        if (resultsAsStructuralType != null)
        {
          cmd.ColumnTypes = new PrimitiveType[resultsAsStructuralType.Members.Count];

          for (int ordinal = 0; ordinal < resultsAsStructuralType.Members.Count; ordinal++)
          {
            EdmMember member = resultsAsStructuralType.Members[ordinal];
            PrimitiveType primitiveType = member.TypeUsage.EdmType as PrimitiveType;
            cmd.ColumnTypes[ordinal] = primitiveType;
          }
        }
      }
    }