2013-08-23 92 views
0

我正在使用Micro ORM PetaPOCO,我想用查询,我收到异常,请帮助我,如果任何人知道。Peta POCO like query issue

var context = new PetaPoco.Database(Connection.connectionstring); 
      SqlQuery = @"SELECT CmsPage.PageId, CmsPage.PageTitle, CmsPage.MenuId, CmsPage.PageDescription, CmsPage.Title, CmsPage.MetaKeyword, CmsPage.MetaDescription, CmsPage.CreatedDate, CmsPage.IsActive 
      FROM (SELECT ROW_NUMBER() OVER (ORDER BY CmsPage.PageTitle) AS row, CmsPage.PageId, CmsPage.PageTitle, CmsPage.MenuId, CmsPage.PageDescription, 
      CmsPage.Title, CmsPage.MetaKeyword, CmsPage.MetaDescription, CmsPage.CreatedDate, CmsPage.IsActive FROM CmsPage) AS CmsPage WHERE 
      CmsPage.PageTitle LIKE @0 and row > ((@CurrPage - 1) * @PageSize) and row <= (@CurrPage * @PageSize)"; 


      List<CmsPagePOCO> obCmsPagePOco = context.Query<CmsPagePOCO>(
       SqlQuery, 
        new 
        { 
         @CurrPage = CurrPage, 
         @PageSize = PageSize, 
         @PageTitle = "%" + PageTitle + "%" 

        }).ToList(); 

      return obCmsPagePOco; 

得到此异常:

没有映射从对象类型存在<> f__AnonymousType1`3 [[System.Int32,mscorlib程序,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089],[ System.Int32,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089],[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]转换为已知的托管提供程序本机类型。

回答

0

您在like与命名参数

改变混合@0

CmsPage.PageTitle LIKE @PageTitle and row > ... 
+0

是的,我已经做了已经,您也对好接受这个答案:)我有另外一个问题,如果你有任何想法请访问:http://stackoverflow.com/questions/18412562/web-api-400-badrequest-when-search-parameter-is-blank/18412781?noredirect=1#comment27048785_18412781 – dotnetexpert