close

對於.NET的開發者來說,相信以LINQ撈取資料的方式一定不陌生。

然而我有時總是得嘗試很多次才寫出想要的結果(唉,怪自己LINQ底子太差了),

所以想找一套工具能幫我SQL TO LINQ,藉此快速學習。

於是找到這套Linqer

一、執行Linqer.exe後,得預先設定初始值。

擷取  

二、點選Add,加入一個Connection,填入自訂的Connection Name及資料庫的Connection String後:

擷取2  

三、以 SqlMetal.exe 產生.dbml檔。

SqlMetal是命令列工具,所以要在Command底下打指令,如果是單機上連接資料庫,用以下指令就行了。

/server: <name>

指定資料庫伺服器名稱。

/database: <name>

指定伺服器上的資料庫目錄。

/user: <name>

指定登入使用者識別碼。 預設值:使用 Windows 驗證。

/password:<password>

指定登入密碼。 預設值:使用 Windows 驗證。

但如果是連接遠端資料庫,就得用

/conn: <connection string>

指定資料庫連接字串。 無法搭配 /server/database/user 或 /password 選項使用。

不要在連接字串 (Connection String) 中包含檔案名稱。 而是在命令列中加入檔名來做為輸入檔案。 例如,下行指定了 "c:\northwnd.mdf" 做為輸入檔案:sqlmetal /code:"c:\northwind.cs" /language:csharp "c:\northwnd.mdf"

我以/conn連接為例,因為msdn上沒講字串要用雙引號包著,字串內要用單引號包著,我試了好久才成功 >< 。例如:

D:\>sqlmetal /conn:"server='myservername';user='myid';password='mypassword' " /dbml:out.dbml

其它參數請自行查閱MSDN

四、點選Generate LINQ to SQL Files按鈕,產生.designer.cs檔案。也可以把dbml匯入visual studio專案內的App_Code後,它也會自動產生.designer.cs檔案。設定好後按OK就能開始玩linqer了。

擷取3  

畫面左邊是SQL工作區,右邊是LINQ顯示區,在左邊點選Convert SQL To LINQ後,會將LINQ語法顯示在右邊;如果要執行SQL查詢語句,則點選Run SQL,查詢後節果會顯示在下方區塊,相當簡單。

測試畫面 : 

擷取4  

感覺還蠻好用的,但在翻譯複雜的SQL語句時會有些語法上的小錯誤,但還能接受啦,手動修掉就好了。如果能有智能提示功能就更讚了 ^^

arrow
arrow
    全站熱搜

    忙裡偷閒 發表在 痞客邦 留言(0) 人氣()