关于SubSonic3.0未处理InvalidOperationException异常(关键字TOP附近有语法错误)的处理

    早上在测试程序时,使用了Top这个属性,没想到马上抛出了个“未处理InvalidOperationException异常(关键字'TOP'附近有语法错误)”这个错误提示,见下图:

 

 

    然后Debug一下,发现原来是TOP 100与后面的内容粘在一块了,如下图:

 

    对插件代码做了修改后,还是同样的问题,再次跟踪得更深一点,看了一下最后生成的SQL,才发现原来是TOP的位置给放错了,我擦...


    插件里设置TOP的文件和位置:



    通过Debug,找到SQL生成模版,见下图:(注:{7}是我自己之前添加的,用来处理去重复(Distinct)用的

 


    在里面增加{8}这个参数(文件名:Sql2005Generator.cs)

 

 

   
    然后修改这个文件的其他位置:(如图)

 

 

    接着打开ANSISqlGenerator.cs,在里面添加GenerateTop()函数

 

    找到GenerateCommandLine()函数,按图片注释掉设置TOP这一段代码


    然后将插件重新生成一下就OK了

 

  本文章为原创内容,转载请保留下面信息。

  发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:SubSonic3.0学习群(327360708)或Email给我(1654937#qq.com),大家一起探讨,由于本人工作很繁忙,如果疑问请先留言,回复不及时也请谅解。

  想了解更多SubSonic3.0的相关问题,请观注博客:http://www.cnblogs.com/EmptyFS/

posted @ 2013-07-21 15:59  AllEmpty  阅读(970)  评论(2编辑  收藏  举报