LinQ: 数据库访问技术
ADO.NET
EF框架
LinQ to SQL
高集成化的数据库访问技术
LINQ 2 SQL 实际是将数据库的表映射成程序中的类
会把数据库的表名原封不动的变成类名
数据库的列名原封不动的变成字段名/属性名
所有的操作都是通过Linq自动生成的一个上下文对象来进行操作的 Linq的名字+"DataContext"
一个数据库对应一个Linq
添加:
public void insert(users u)
{
con.users.InsertOnSubmit(u);
con.SubmitChanges();
}
using (Data0928DataContext con = new Data0928DataContext())
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();
}
查询:
public List<users> select()
{
return con.users.ToList();
}
using (Data0928DataContext con = new Data0928DataContext())
{
Repeater1.DataSource = con.Users.ToList();
Repeater1.DataBind();
}
删除:
public void delete(string un)
{
users u=con.users.Where(r=>r.username==un).FirstOrDefault();
if (u != null)
{
con.users.DeleteOnSubmit(u);
con.SubmitChanges();
}
}
修改:
using (Data0928DataContext con = new Data0928DataContext())
{
Users u = con.Users.Where(r => r.UserName == TextBox1.Text.Trim()).FirstOrDefault();
u.PassWord = TextBox2.Text;
u.NickName = TextBox3.Text;
u.Sex = Convert.ToBoolean(TextBox4.Text);
u.Birthday = Convert.ToDateTime(TextBox5.Text);
u.Nation = TextBox6.Text;
u.Class = TextBox7.Text;
con.SubmitChanges();
Response.Redirect("Default.aspx");
}
属性扩展:设置主外键关系
public string sexstr { get { string end = "暂无"; if (this.sex != null) { end = Convert.ToBoolean(this.sex) ? "img/nan.png" : "img/nv.png"; } return end; } } public string nationname { get { string end = "暂无"; if (this.nation != null) { end = nation1.nationname; } return end; } } public string classname { get { string end = "暂无"; if (this.@class != null) { end = class1.classname; } return end; } }
原文:http://www.cnblogs.com/wy1992/p/6380239.html