(转)LinqToSql的连接字符串自动调用配置文件中的连接字符串
LinqToSql會把連接字符串散落地寫在多個位置,并且編譯后就固定不可更改了。
于是帶來了各種不方便。比如在一臺機器上配置好的程序拿到另一臺機器上,就不得不找出所有散落的連接字符串,然后一一修改才能跑起來。
大家一定很希望在使用LinqToSql時也能從配置文件里讀取連接字符串。
下邊的技巧讓我們達成這個目的。
1:在項目中添加一個LinqToSql類,假設名字為DataClasses1。
于是.NET會自動生成一堆東西:
雙擊DataClasses1.dbml,打開設計頁面,從ServerExpoloer窗口拖幾張表到這個設計頁面,保存一下。
2:在DataClasses1.designer.cs文件中,找到DataClasses1DataContext的無參構造方法(它有許多構造方法,只找到無參的那個)。
將這個方法剪切掉。
3:在項目中新加一個類,確保這個類和生成的DataContext類名相同,都叫DataClasses1DataContext。在這個類定義前邊加上partial修飾符。
4: 將剛剛剪切掉的方法復制到新添加的類中。修改base后邊的參數為你的配置文件中的連接字符串。
最后效果如下圖。
5:如果你想要刪除settings文件就刪了吧,因為你下次往dbml里拖數據庫類的時候它又會自動生成。
6:進入dbml的設計界面,在空白處右鍵,點“屬性”。在屬性欄里將“連接”項設置為“無”。
經過以上六步之后,你的Linq將只通過配置文件中的連接字符串去連接數據庫,而不去關心你的表示從什么地方拖過來的。
每次往dbml里拖入新的類時,都記著重復一下步驟6.
一切OK了從此LinqToSql也移動自如了~~當然,如果你不想這么麻煩,也可以用另一個辦法:
向ServerExplorer中添加數據庫的時候,連接名用(local)\SQLEXPRESS,而不是(主機名)\SQLEXPRESS。
入下圖所示:
這樣拿到別人機器上的時候,只要數據庫不改名,原來的LingToSql照樣能用。
轉載于:https://www.cnblogs.com/sy-litao/archive/2012/08/30/2663388.html
總結
以上是生活随笔為你收集整理的(转)LinqToSql的连接字符串自动调用配置文件中的连接字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)C/C++ Linux 程序员必须
- 下一篇: 有用的视频链接