根據SQLServer數據表生成C#實體類


生成表的實體類工具,有助於減少代碼量,加快開發速度.

先看效果圖

第一副圖根據輸入的連接服務器地址 用戶名 登錄數據庫名 密碼連接到數據庫.如果錯誤則提示連接失敗.

第二幅圖先取的當前數據庫所有的用戶創建的表

然后根據選中的表名取得數據庫中關於此表信息的的系統表.然后將字段類型轉換為C#數據類型.並輸出的TextBox

這里主要用到幾個表

select * from sys.extended_properties  表注釋 和列注釋,列的排列順序(不帶列名)

select * from sys.columns 數據庫表所有列的詳細信息 字段類型,表的字段,名稱等

select * from sysobjects where xtype = 'U' --所有用戶創建的表 列ID

select * from systypes  --SQL SERVER 數據庫所有的類型

select * from syscolumns 所有字段名稱 長度等

下面以 Ts_Customers 為例 取得此表的 列名,列類型,表注釋,列注釋

select syscolumns.name,systypes.name as type
,(select isnull(value,'') from sys.extended_properties ex_p where ex_p.minor_id=0

and ex_p.major_id=sysobjects.id) as TableDemo
 ,ext.value as colName from syscolumns  
  INNER   JOIN  sysobjects  ON   syscolumns.id  =  sysobjects.id 
  INNER   JOIN   systypes   ON   syscolumns.xtype   =   systypes.xtype 
  INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id 
  and ext.minor_id=syscolumns.colorder
  WHERE   (sysobjects.name   =   'Ts_Customers')   AND   (systypes.name   <>   'sysname')

效果如下

取得結果后.就是循環寫入到TextBox了。這里代碼不貼了.很簡單

基本達到想要的效果.遺憾的是想把數據庫連接測試通過后動態保持到app.config 然后從配置文件讀取.怎奈發現應用程序執行中.只有下次才能從配置文件中讀.所以就沒這么做.

 

源碼下載


免責聲明!

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



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