asp.netentity-framework-4entity-sql

Entity query select '*' error


i am using esql to select by using entity framework Here is my coding

        using (ObjectContext ctx = new ObjectContext("Name=LEWREDBEntities"))
        {
            string result = "select articleDetail.*, master_project_category.CATEGORY_NAME as category2 ";
            result += " from( ";
            result += "         select lewre_article.ARTICLE_NUMBER, ";
            result += "         lewre_article.REFERENCE_NUMBER, ";
            result += "         lewre_article.ARTICLE_ID, ";
            result += "         master_product_category.CATEGORY_ID, ";
            result += "         master_product_category.CATEGORY_NAME, ";
            result += "         master_product_category.P_CATEGORY_ID, ";
            result += "         lewre_article.PROJECT_ID,  ";
            result += "         lewre_project.PROJECT_NAME, ";
            result += "         master_product_type.PRODUCT_TYPE_NAME, ";
            result += "         master_brand.BRAND_NAME, ";
            result += "         lewre_article.PRODUCT_CATEGORY_ID, ";
            result += "         lewre_article.PRODUCT_TYPE_ID, ";
            result += "         lewre_article.BRAND_ID, ";
            result += "         lewre_article.STATUS, ";
            result += "         lewre_article_img.SAMPLE_IMG_CONTENT_TYPE, ";
            result += "         lewre_article_img.SAMPLE_IMG, ";
            result += "         minMaxSize.maxSize, ";
            result += "         minMaxSize.minSize ";

            result += "from( ";
            result += "     select lewre_article.ARTICLE_ID, MIN(lewre_product.SIZE) as minSize , MAX(lewre_product.SIZE) as maxSize";
            result += "     from LEWREDBEntities.[LEWRE_ARTICLE] as lewre_article, ";
            result += "     LEWREDBEntities.[LEWRE_PRODUCT]as lewre_product";
            result += "     where lewre_article.ARTICLE_ID  = lewre_product.ARTICLE_ID";
            result += "     group by lewre_article.ARTICLE_ID";
            result += " ) as minMaxSize, ";

            result += "   LEWREDBEntities.[LEWRE_ARTICLE] as lewre_article ,";
            result += "   LEWREDBEntities.[LEWRE_PROJECT]  as lewre_project,";
            result += "   LEWREDBEntities.[MASTER_PRODUCT_TYPE] as master_product_type,";
            result += "   LEWREDBEntities.[MASTER_PRODUCT_CATEGORY] as master_product_category,";
            result += "   LEWREDBEntities.[MASTER_BRAND] as master_brand,";
            result += "   LEWREDBEntities.[LEWRE_ARTICLE_IMG] as lewre_article_img";

            result += " where lewre_article.PROJECT_ID  = lewre_project.PROJECT_ID ";
            result += " and lewre_article.PRODUCT_TYPE_ID = master_product_type.PRODUCT_TYPE_ID ";
            result += " and lewre_article .PRODUCT_CATEGORY_ID = master_product_category.CATEGORY_ID ";


            result += " and lewre_article.BRAND_ID = master_brand.BRAND_ID ";
            result += " and lewre_project.STATUS ='U' ";
            result += " and lewre_article_img.ARTICLE_ID = lewre_article.ARTICLE_ID ";

            result += " and lewre_article_img.IMG_DEFAULT = TRUE ";
            result += " and lewre_article_img.STATUS ='A'  ";
            result += " ) as articleDetail ";

            result += " inner join LEWREDBEntities.[MASTER_PRODUCT_CATEGORY]as master_project_category on ArticleDetail.P_CATEGORY_ID = master_project_category.CATEGORY_ID  ";
            result += " ";
            result += " ";

            ObjectQuery<DbDataRecord> query = ctx.CreateQuery<DbDataRecord>(result);
            string abc = query.ToTraceString();
            //foreach (DbDataRecord rec in query)
            //{

            //}
        }

How can i get the articleDetail.* value? I get the error "The query syntax is not valid. Near term '*', line 1, column 39." Please help me. thank you


Solution

  • Use only the name of the alias, without the *

      select articleDetail, master_project_category....