linq的簡單增刪改查


Linq
高集成化的數據訪問類,它會自動映射數據庫結構,將表名完整映射成為類名,將列名完整映射成字段名
數據庫數據訪問,能大大減少代碼量。(反正最后結果就是不用寫ado.Net那一套增刪改查,有一套封裝好的方法直接點就行了)
(1)Linq創建
添加LINQ to SQL類,類名需與要連接的數據庫名一樣

Linq文件是dbml結尾,一個數據庫對應一個Linq文件,比如送你要連接data0720這個數據庫,linq的名字也取data0720
(2)數據庫連接
打開服務器資源管理器,點擊下圖黃圈內按鈕,連接到數據庫,彈出添加連接對話框,填寫服務器名(.),選擇使用什么身份驗證,然后您要連接的數據庫,然后將您要用的數據庫拉到類中。(這里就相當於ado.Net里的連接語句)

(3)數據擴展

新建一個部分類(關鍵字:partial),例如User

public string SexStr
    {
        get
        {
            string end = "<暫無>";//只是從嚴謹的角度講,數據庫里不一定填寫,數據創建時是not null的話大概就不用寫了吧...
            if (this._Sex != null)
            {
                end = Convert.ToBoolean(this._Sex) ? "男" : "女";
            }
            return end;
        }
    }
    public string NationName
    {
        get
        {
            return this.Nation1.NationName;//這里這個Nation1是因為自動生成時重名而導致的。
                         //這里分開寫的話就是 Nation n= this.Nation1; return n.NationName; }                   //這個數據庫里的中User表中的Nation被Nation表約束,根據主外鍵關系可以不用再單獨寫查詢方法(當然寫也可以,親測)
   }
public string BirStr
{
  get {
      string end = "<暫無>";
      if(this._Birthday!=null)
        {
          end = Convert.ToDateTime(this._Birthday).ToString("yyyy年MM月dd日");
        } return end;
    }
} User數據擴展

  

(4)增刪改查

首先實例化:

 WebDataContext con = null;//Web為建的Linq類名(也就是數據庫的名字,因為他倆名字一樣)
2     public UserData()
3     {
4         con = new WebDataContext();
5     }

一、查所有

  public List<User> Select()  {  return con.User.ToList(); } //User為對象名,即表名,下同。這里相當於遍歷了Users表里的所有數據添加進一個泛型集合里

 二、添加

1 public void Insert(User u)
2 {
3 con.User.InsertOnSubmit(u);
4 con.SubmitChanges();//執行了這句話才完成了對數據庫數據的變更
5 }

 三、查一條

 public User Select(string uname)
    {
        return con.User.Where(r => r.UserName == uname).FirstOrDefault();//lamdba表達式這里就可以理解為是一個查詢語句,where之后是查詢條件,r就是個代號,可以隨便起
    }

四、刪除

public void Delete(string uname)
    {
        //1先將對象查出來
        User u = con.User.Where(r => r.UserName == uname).FirstOrDefault();

        //2刪掉
        if (u != null)
        {
            con.User.DeleteOnSubmit(u);
            con.SubmitChanges();
        }
    }

五、修改

 public void Update(User u)
    {
        User uuu = con.User.Where(r => r.UserName == u.UserName).FirstOrDefault();//先查后改
        if (uuu != null)
        {
            uuu.PassWord = u.PassWord;
            uuu.NickName = u.NickName;
            uuu.Sex = u.Sex;
            uuu.Birthday = u.Birthday;
            uuu.Nation = u.Nation;
        }

        con.SubmitChanges();

    }


免責聲明!

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



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