• linq的简单增删改查


    Linq
    高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名
    数据库数据访问,能大大减少代码量。(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好的方法直接点就行了)
    (1)Linq创建
    添加LINQ to SQL类,类名需与要连接的数据库名一样

    Linq文件是dbml结尾,一个数据库对应一个Linq文件,比如送你要连接data0720这个数据库,linq的名字也取data0720
    (2)数据库连接
    打开服务器资源管理器,点击下图黄圈内按钮,连接到数据库,弹出添加连接对话框,填写服务器名(.),选择使用什么身份验证,然后您要连接的数据库,然后将您要用的数据库拉到类中。(这里就相当于ado.Net里的连接语句)

    (3)数据扩展

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

    public string SexStr
        {
            get
            {
                string end = "<暂无>";//只是从严谨的角度讲,数据库里不一定填写,数据创建时是not null的话大概就不用写了吧...
                if (this._Sex != null)
                {
                    end = Convert.ToBoolean(this._Sex) ? "男" : "女";
                }
                return end;
            }
        }
        public string NationName
        {
            get
            {
                return this.Nation1.NationName;//这里这个Nation1是因为自动生成时重名而导致的。
                             //这里分开写的话就是 Nation n= this.Nation1; return n.NationName; }                   //这个数据库里的中User表中的Nation被Nation表约束,根据主外键关系可以不用再单独写查询方法(当然写也可以,亲测)
       }
    public string BirStr
    {
      get {
          string end = "<暂无>";
          if(this._Birthday!=null)
            {
              end = Convert.ToDateTime(this._Birthday).ToString("yyyy年MM月dd日");
            } return end;
        }
    } User数据扩展

      

    (4)增删改查

    首先实例化:

     WebDataContext con = null;//Web为建的Linq类名(也就是数据库的名字,因为他俩名字一样)
    2     public UserData()
    3     {
    4         con = new WebDataContext();
    5     }

    一、查所有

      public List<User> Select()  {  return con.User.ToList(); } //User为对象名,即表名,下同。这里相当于遍历了Users表里的所有数据添加进一个泛型集合里

     二、添加

    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表达式这里就可以理解为是一个查询语句,where之后是查询条件,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();
    
        }
  • 相关阅读:
    003.同时Ping多个IP(select实现IO复用,信号计时),ping程序升级版
    002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
    001.linux下clock()检测程序运行时间
    django form的函数用法
    命令注入利用语句
    小白审计JACKSON反序列化漏洞
    代码审计小工具
    Burp插件开发--应用篇
    burp插件开发--基础篇
    JAVA web网站代码审计--入门
  • 原文地址:https://www.cnblogs.com/lanrenqilanming/p/6036825.html
Copyright © 2020-2023  润新知