關於SubSonic3.0生成的表名自動加復數(s)的“用戶代碼未處理SqlException,對象名'xxxs'無效”異常處理


  使用SubSonic3.0模版生成時,同2.2版本一樣,都會自動在一些類似數據庫要用到的關鍵后面加要s(復數),這里也是3.0的一個小Bug,在查詢時由於插件並沒有完全的去掉s,所以會產生“用戶代碼未處理SqlException,對象名'xxxs'無效”異常,無法對加了復數的表進行查詢

  2.2處理就會簡單,直接在config(配置文件)里配置SubSonicService標簽,在該標簽里的add子標簽里設置fixPluralClassNames="false"就可以了,而3.0后沒有了這些配置,所以目前來看只能是直接修改模版了。

 

  首先打開SQLServer.ttinclude文件,按下圖做修改處理,這樣就可以將生成過程中加復數(s)的功能去掉

  

  

 

  然后打開SubSonic3.0源碼的Extensions目錄里的Objects.cs文件,按下圖進行處理,這樣就可以去掉查詢時多加的復數了

  

 

  改完上面內容后,將3.0插件重新生成,就可能正常使用了。

 

 

  本文章為原創內容,轉載請保留下面信息。

  發表本編內容,只要主為了和大家共同學習共同進步,有興趣的朋友可以加加Q群:SubSonic3.0學習群(327360708)或Email給我(1654937#qq.com),大家一起探討,由於本人工作很繁忙,如果疑問請先留言,回復不及時也請諒解。

  想了解更多SubSonic3.0的相關問題,請觀注博客:http://www.cnblogs.com/EmptyFS/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM