linQ基础

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;
        }
    
    }
原文地址:https://www.cnblogs.com/wy1992/p/6380239.html