• net下 Mysql Linq的使用, 更新数据,增加数据,删除数据


    net下访问mysql主要有2种方法:

    1.字符串拼接访问

     a.mysql官网下载并安装mysql-connector-net.

     b项目中引用mysql.data等

    所有增删改查可以通过拼接sql语句全部实现,但有注入风险,建议用方法2.


    2.Linq

     a.mysql官网下载并安装mysql-connector-net.并重启,

     b.在vs中打开"服务器资源管理器“并添加相应连接(a步骤重启后,在"更改数据源"中会增加连接”MySQL DataBase“)

    c.创建”ADO.NET实体数据模型“向导中设置为b步骤中的数据库连接即可连接

    d.Linq连接读取

     1查询数据

     /// <summary>
            /// 查询数据
            /// </summary>
            public static List<Model.t_user> GetUserList()
            {
                var _db = new DataBase. GJHLWebChat();
                return _db.t_user.Select(LinqToModel).ToList();
            }
    View Code

     2新增数据

      /// <summary>
            /// 新增用户
            /// </summary>
            /// <param name="u"></param>
            /// <returns></returns>
            public static bool AddUser(Model.t_user u)
            {
                
                   var   _user = new  DataBase.t_user()
                    {
                        AppId = u.AppId,
                        AppSecret = u.AppSecret,
                        IsDelete = u.IsDelete==1?true:false,
                        LoginName = u.LoginName,
                        pwd = u.pwd,
                        RegTime = u.RegTime,
                        Tel = u.Tel,
                        userid = u.userid,
                        UserName = u.UserName
                    };
                    _db.t_user.AddObject(_user);
                    _db.SaveChanges(); 
                   return true; 
             
            }
    View Code

    3更新数据

     /// <summary>
            /// 更新
            /// </summary>
            /// <param name="u"></param>
            /// <returns></returns>
            public static bool UpdateUser(Model.t_user u)
            {   
                var _db = new DataBase.GJHLWebChat(); 
     
              var _user=  _db.t_user.Where(m => m.userid == u.userid).FirstOrDefault();
              if (_user!=null)
              {
                    _user. AppId=u.AppId;
                    _user. AppSecret=u.AppSecret;
                    _user. IsDelete= u.IsDelete==1?true:false;
                    _user.  LoginName=u.LoginName;
                    _user. pwd=u.pwd;
                    _user.  RegTime=u.RegTime;
                    _user.  Tel=u.Tel;
                    _user.UserName = u.UserName;
    
                     _db.AcceptAllChanges();//接受所有改变
                     _db.SaveChanges();//更新改变
                  return true;
              }
              return false;
            
            }
    View Code

    4删除数据

      /// <summary>
            /// 删除 
            /// </summary>
            /// <param name="u"></param>
            /// <returns></returns>
            public static bool DeleteUser(Model.t_user u)
            {
                var _db = new DataBase.GJHLWebChat();
                var _user = _db.t_user.Where(m => m.userid == u.userid).FirstOrDefault();
                if (_user != null)//查找并删除用户
                {
                    _db.t_user.DeleteObject(_user);
                    _db.SaveChanges();
                    return true;
                }
                return false;
            } 
    View Code

    附:Entity Framework vs. LINQ to SQL:http://blog.csdn.net/jfchef/article/details/7632872

     msdn  objectcontext:http://msdn.microsoft.com/zh-cn/library/vstudio/system.data.objects.objectcontext_methods.aspx

  • 相关阅读:
    Java多线程之Exchanger
    Java8 比AtomicLong更加高效的原子操作LogAdder
    synchronized父子类对象锁重入
    java8 stream多字段排序
    利用java代码给mongo数据库加索引、删除索引等操作
    C++之IO
    C++之类的定义和性质
    C++之动态内存与类型转换
    C++之字符与其他数据类型
    C++之函数与模板
  • 原文地址:https://www.cnblogs.com/akak123/p/3330670.html
Copyright © 2020-2023  润新知