LinQ增刪改查


LINQ,語言集成查詢(Language Integrated Query)是一組用於c#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢數據庫相同的方式操作內存數據。

高集成化的數據訪問類,它會自動映射數據庫結構,將表名完整映射成為類名,將列名完整映射成字段名。

1、LinQ創建

Linq文件是dbml結尾,一個數據庫對應一個Linq文件主外鍵

(1)首先表格要有主外鍵關系

(2)添加新項 LinQ to SQL類 ,起名為數據庫名字

(3)服務器資源管理器 --連接到數據庫(相當於ADO.NET中的連接字符串)

服務器名:.;使用SQL Sever身份驗證:用戶名sa;選擇或輸入數據庫名稱;

(4)將需要的表拖拽到其中(相當於ADO.NET中生存實體類)

(5)創建數據訪問類

LinQlianxiDataContext con = null; // LinQlianxiDataContext---數據庫名+DataContext
數據庫名 public Usersdata() 
{
con = new LinQlianxiDataContext();//實例化
}

2、屬性擴展

Linq的成員變量是問號型

C#語法中問號(?)的運算符是指:可以為 null 的類型。

復制代碼
public partial class Users //這個類是Users類的一部分
{
    //性別屬性擴展
    public string Sexstr 
    {
        get {
            string sexs="<暫無>";
            if(this._Sex !=null)//先判斷是否為空
            {
                sexs = Convert.ToBoolean(this._Sex)?"男":"女";//將布爾問號型轉換為布爾型
            }
            return sexs;
        }
    }  
//民族屬性擴展 存在外鍵關系的屬性擴展
    public string Nationname 
    {
        get { return this.Nation1.Nationname; }//this.外鍵有關的表.字段名
    }
復制代碼

3、增刪改查

與ADO.NET 不同處在數據訪問類

復制代碼
   //查找所有  
public List<Users> select() { return con.Users.ToList();//con.表名.ToList(); ToList()--查找所有 }
//根據主鍵值查找一條數據 public Users selectonly(string name) {
//where(Lamdba表達式)--查找條件 FirstOrDefault--查找返回第一條或空

return con.Users.Where(a =>a.UserName==name).FirstOrDefault();
} 
//添加數據 public bool insert(Users u)
{
bool b=false;
try{
con.Users.InsertOnSubmit(u); //對表進行添加操作
con.SubmitChanges(); //執行添加
b = true;
} catch{}
return b;
}
//刪除數據 public bool delete(string name) { bool b=false;
//刪除前先進行查找 Users u = con.Users.Where(a =>a.UserName==name).FirstOrDefault(); if(u !=null)//有返回值 { try { con.Users.DeleteOnSubmit(u);//DeleteOnSubmit()的參數是一個對象 con.SubmitChanges(); b = true; } catch { } } return b; }
//修改數據 public bool update(Users u) { bool b = false;
//查找出修改前的數據 Users uu = con.Users.Where(a => a.UserName == u.UserName).FirstOrDefault(); if (u != null) { try {
//用修改后的值給修改前的值賦值 uu.UserName = u.UserName; uu.PassWord = u.PassWord; uu.NickName = u.NickName; uu.Sex = u.Sex; uu.Birthday = u.Birthday; uu.Nation = u.Nation; con.SubmitChanges();//執行 b = true; } catch { } } return b; }
復制代碼


免責聲明!

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



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