LinQ:LinQ to Sql類
它是一個集成化的數據訪問類,微軟將原本需要我們自己動手去編寫的一些代碼,集成到了這個類中,會自動生成。
LinQ的創建:
添加項——添加新項(LinQ to Sql類):每個數據庫對應一個LinQ to Sql類


在類裡面連接數據庫:
服務器資源管理器——連接到數據庫(服務器名稱,用戶名,密碼,數據庫名稱)——將需要的表拖入窗體

LinQ查詢:
新建類:數據訪問類,添加方法:
Data0617DataContext con = new Data0617DataContext();
public List<Users> Select()
{
return con.Users.ToList();
}
條件查詢:使用Lamdba表達式
//條件查詢
public List<Users> Select(string uname)
{
//Lamdba表達式
return con.Users.Where(r => r.UserName == uname && r.PassWord == "1234").ToList();
}
字段擴展:新建類:+ partial
public partial class Users
{
public string SexStr { get { return Convert.ToBoolean(_Sex) ? "男" : "女"; } }
public string BirStr { get { return Convert.ToDateTime(this._Birthday).ToString("yyyy年MM月dd日"); } }
public string NationName { get { return new NationData().SelectNationName(_Nation); } }
public string Nname { get { return Nation1.NationName; } }
}
添加:
Data0617DataContext con = new Data0617DataContext();
public void Insert(Users u)
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();
}
//後台代碼
Users u = new Users();
u.UserName = TextBox1.Text;
u.PassWord = TextBox2.Text;
u.NickName = TextBox3.Text;
u.Sex = Convert.ToBoolean(TextBox4.Text);
u.Birthday = Convert.ToDateTime(TextBox5.Text);
u.Nation = TextBox6.Text;
new UsersData().Insert(u);
刪除:
public void Delete(string Uname)
{
Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault();
if (uu != null)
{
con.Users.DeleteOnSubmit(uu);
con.SubmitChanges();
}
}
//刪除按鈕事件委托 new UsersData().Delete(TextBox7.Text);
修改:
public void Update(Users u)
{
Users uuu = con.Users.Where(r => r.UserName == u.UserName).FirstOrDefault();
uuu.PassWord = u.PassWord;
uuu.NickName = u.NickName;
uuu.Sex = u.Sex;
uuu.Birthday = u.Birthday;
uuu.Nation = u.Nation;
con.SubmitChanges();
}
Users uuu = new Users();
uuu.UserName = TextBox1.Text;
uuu.PassWord = TextBox2.Text;
uuu.NickName = TextBox3.Text;
uuu.Sex = Convert.ToBoolean(TextBox4.Text);
uuu.Birthday = Convert.ToDateTime(TextBox5.Text);
uuu.Nation = TextBox6.Text;
new UsersData().Update(uuu);