Webform_LINQ增删改查

Linq 高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名 数据库数据访问,能大大减少代码量。 (1)Linq创建 添加LINQ to SQL类,类名需与要连接的数据库名一样

Linq文件是dbml结尾,一个数据库对应一个Linq文件 (2)数据库连接 打开服务器资源管理器,点击下图黄圈内按钮,连接到数据库,弹出添加连接对话框,填写服务器名(.),选择使用什么身份验证,然后您要连接的数据库,然后将您要用的数据库拉到类中。

(3)数据扩展

新建一个部分类(关键字:partial),例如User

 public string SexStr
    {
        get
        {
            string end = "<暂无>";
            if (this._Sex != null)
            {
                end = Convert.ToBoolean(this._Sex) ? "" : "";
            }
            return end;
        }
    }
    public string NationName
    {
        get
        {
            return this.Nation1.NationName;
        }
    }
    public string BirStr
    {
        get
        {
            string end = "<暂无>";
            if(this._Birthday!=null)
            {
                end = Convert.ToDateTime(this._Birthday).ToString("yyyy年MM月dd日");
            }
            return end;
        }
    }
User数据扩展

(4)增删改查

首先实例化:

1   WebDataContext con = null;//Web为建的Linq类名
2     public UserData()
3     {
4         con = new WebDataContext();
5     }

一、查所有

 1 public List<User> Select() 2 { 3 return con.User.ToList(); 4 } //User为对象名,即表名,下同

 二、添加

1 public void Insert(User u)
2 {
3 con.User.InsertOnSubmit(u);
4 con.SubmitChanges();
5 }

 三、查一条

 public User Select(string uname)
    {
        return con.User.Where(r => r.UserName == uname).FirstOrDefault();//lamdba表达式,r可以随便起
    }

四、删除

复制代码
 public void Delete(string uname)
    {
        //1先将对象查出来
        User u = con.User.Where(r => r.UserName == uname).FirstOrDefault();

        //2删掉
        if (u != null)
        {
            con.User.DeleteOnSubmit(u);
            con.SubmitChanges();
        }
    }
复制代码

五、修改

复制代码
 public void Update(User u)
    {
        User uuu = con.User.Where(r => r.UserName == u.UserName).FirstOrDefault();//先查后改
        if (uuu != null)
        {
            uuu.PassWord = u.PassWord;
            uuu.NickName = u.NickName;
            uuu.Sex = u.Sex;
            uuu.Birthday = u.Birthday;
            uuu.Nation = u.Nation;
        }

        con.SubmitChanges();

    }
复制代码
原文地址:https://www.cnblogs.com/longhaijun/p/6041436.html