LINQ學習筆記 -- 數據庫的鏈接信息存哪了呢

當些日子在聊天時,我又拋出了:語言只是工具,重要的是思想。軟件的質量控制並非靠語言,而是靠規範的論調。顯然,對方表示質疑。爲此,走上了VB.net的學習之路。數據庫

LINQ

官方如是說:LINQ to SQL 是.NET Framework 版本 3.5,它提供用於管理關係數據做爲對象的運行時基礎結構的組件。
可見,它是3.5開始有的新特性,用來管理關係數據的。app

爲何要學習LINQ呢?

咱們先看下當前項目的示例代碼(以登陸爲例):ide

db.connectDB()
        If PasswordTextBox.Text = "" Then
            MsgBox("用戶名或密碼不能爲空!", 48, "提示")
            PasswordTextBox.Focus()
            Exit Sub
        End If

        str = "select f_zuidi,f_renyuan_id,f_jiemian from t_renyuan where f_zuofei=0 and f_xingming='" + CStr(ComboBox2.SelectedValue) + "' and (f_mima='" + PasswordTextBox.Text + "'" + " or  'xxxxx'='" + PasswordTextBox.Text + "')"

        ds = db.readrecord(str)
        If ds.Tables(0).Rows.Count = 0 Then
            PasswordTextBox.Text = ""
            MsgBox("用戶名稱或密碼錯誤,請從新登陸!", 48, "警告")
            db.closeDB()
            PasswordTextBox.Focus()
            Exit Sub
        Else

過程很簡單,先鏈接數據庫,若是密碼爲空,則提示。不然的話,去進行查庫處理。若是沒有查看到記錄,則報錯。不然的話,認爲用戶登陸成功。工具

但這種代碼,咱們認爲是沒法控制其質量的,緣由就是過多的出現了字符串(請忽略掉其它問題),試想一下。若是有一天數據表的某個字段名變動了(由f_zuifi變動爲zuifi),咱們還須要來到這個文件f_zuifi這個字符串,來手動的進行變動。而編譯器不會給咱們任何提示。若是僅僅有1個文件還能夠,但隨着項目的規模的增長,最後數據表字段的變動,就會變得不可控制。visual-studio

如何使用LINQ

之前一直對微軟有排斥的心理,主要是因爲使用上MAC之後,感受MAC的穩定性真的是作的太好了。當近距離接觸了微軟之後,才發現其文檔的友好性。好比其官方居然還有相關的視頻教程:https://docs.microsoft.com/zh...。文檔的確夠多,夠完善。推薦文檔:https://docs.microsoft.com/zh...學習

其實官方文檔真的說的夠完善了,在具體的使用過程當中,在執行 項目 -> 添加組件 時,未找到 LINQ to SQL 類。以時,咱們須要來到工具 -> 獲取工具與功能, 並選擇單個組件中的LINQ to SQL 工具.ui

clipboard.png

再而後就有了。spa

數據庫信息存哪了呢?

在使用LINQ成功的查詢後,我開始思索一個問題:當前是開發環境,若是是生產環境的數據庫地址、端口、用戶名、密碼、數據庫名稱與我配置的不同,我怎麼修改呢?因而,查看數據源的代碼:.net

Public Sub New()
        MyBase.New(Global.stjl.My.MySettings.Default.testConnectionString, mappingSource)
        OnCreated
    End Sub

發現其使用的是項目的Settings中的值。code

Public ReadOnly Property testConnectionString() As String
            Get
                Return CType(Me("testConnectionString"),String)
            End Get
        End Property

獲取的是testConnectionString這個字符串的配置信息。它居然在這:

clipboard.png

clipboard.png

雖然尚未正式的發佈過,但相信發佈應用後這個值應該很容易修改吧。

結論

這給我了一個新的思路:一些關於項目配置的信息,我是否也應該放到這個文件中而且參考官方的調用方法進行調用呢?

相關文章
相關標籤/搜索