一、Linq:
高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名
(1)Linq创建
添加LINQ to SQL类,类名需与要连接的数据库名一样
Linq文件是dbml结尾,一个数据库对应一个Linq文件
(2)数据库连接
打开服务器资源管理器,点击下图黄圈内按钮,连接到数据库,弹出添加连接对话框,填写服务器名(.),选择使用什么身份验证,然后您要连接的数据库,然后将您要用的数据库拉到类中。
(3)属性扩展
新建属性扩展时,在类前加partial,linq返回的值类型前有?需要先行转换
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public partial class Users { public string sexstr { get { return Convert.ToBoolean(_Sex) ? "男" : "女"; } } public string birthdaystr { get { return Convert.ToDateTime(_Birthday).ToString("yyyy年MM月dd日"); } } public string nationstr { get { return Nation1.NationName; } } }
二、操作
(1)添加
using (StudentDataContext con = new StudentDataContext()) { con.Users.InsertOnSubmit(tous--添加变量); con.SubmitChanges(); }
(2)删除
string id = Request["id"];--接受要删除变量 using (StudentDataContext con = new StudentDataContext()) { Users u=con.Users.Where(w=>w.Ids.ToString()==id).FirstOrDefault();--查询删除信息 if(u!=null) { con.Users.DeleteOnSubmit(u--删除变量); con.SubmitChanges(); } Response.Redirect("Default.aspx"); }
(3)全部查询
using (StudentDataContext con = new StudentDataContext()) { Repeater1.DataSource = con.Users.ToList(); Repeater1.DataBind(); }
(4)修改
using (StudentDataContext con = new StudentDataContext()) { Users tous = new Users(); List<Users> ulist = con.Users.ToList(); tous = ulist.Where(w => w.Username.ToString() == TextBox1.Text).FirstOrDefault(); if (tous != null) { tous.Username = TextBox1.Text; if (TextBox2.Text == TextBox5.Text) { tous.Password = TextBox2.Text; } else { Label1.Text = "两次密码输入不一致"; } tous.Nikename = TextBox3.Text; if (Ra_sex.Items[0].Selected) { tous.Sex = true; } else { tous.Sex = false; } tous.Birthday = Convert.ToDateTime(TextBox4.Text); tous.Nation = dr_nation.SelectedValue;
----------------变量重新赋值 con.SubmitChanges();--数据库接受 } }