EntityFramework实现增删改查

作者: 垃圾简书_吃枣药丸 | 来源:发表于2017-02-23 21:48 被阅读775次

    17-2-23

    EF数据库表一定要有主键

    【EF实现修改和删除】
    ctx.Entry<UserInfoTable>(user).State = System.Data.Entity.EntityState.Modified;

        #region 增加操作
            /*
            //1.实例化一个上下文对象
            var ctx = new UserInfoEntities();
    
            //2.实例化一个模型对象并且给对象赋值
            UserInfoTable user = new UserInfoTable();
            user.UserName = "Futao00";
            user.Pwd = "1223";
            user.Sex = "男";
            user.Tel = "18797811992";
    
            //3.对数据库进行一个添加操作(告诉EF实体操作的类型curd)
            ctx.UserInfoTable.Add(user);
            //ctx.UserInfoTable.Remove();
            //4.同步到数据库,这个时候数据库才会进行curd
            ctx.SaveChanges();
            */
          #endregion
    

    //修改的时候要指定主键的值,只能根据主键进行crud,所以EF的数据表必须设置自己的主键
    #region 修改删除操作
    //1.实例化上下文对象
    UserInfoEntities dbContext = new UserInfoEntities();
    //2.实例化实体对象,同时指定对象的主键和对象修改之后的值
    UserInfoTable userA = new UserInfoTable();
    userA.UserName = "Futao"; //指定主键
    //userA.Tel = "xxx";
    //userA.Pwd = "xxx";
    //userA.Sex = "xxx";

            userA.Sex = "000000";
            //3.告诉EF对该对象进行的操作
            //dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Modified;
            //单独修改某一个属性的时候要先Attach上
            dbContext.UserInfoTable.Attach(userA);
            //dbContext.Entry<UserInfoTable>(userA).Property<string>(u => u.Sex).IsModified = true;
            dbContext.Entry(userA).Property("Sex").IsModified = true;
            //dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Deleted;
            //4.保存到数据库
            dbContext.SaveChanges();
          #endregion
    
    
          #region 查询操作
            UserInfoEntities dbContext = new UserInfoEntities();
            //遍历所有数据
            foreach (var v in dbContext.UserInfoTable)
            {
                Console.WriteLine(v.UserName + "\t" + v.Pwd + "\t" + v.Sex + "\t" + v.Tel);
            }
            //按条件查询Linq
            var tempSQL = from u in dbContext.UserInfoTable
                          where u.Pwd == "123"
                          select u.UserName + "\t" + u.Pwd + "\t" + u.Sex + "\t" + u.Tel;
    
            //再打印输出查询结果
            foreach (var x in tempSQL)
            {
                Console.WriteLine(x);
            }
          #endregion
    

    补充:实体Entity是什么,实体与模型Model之间的关系
    http://www.cnblogs.com/hellenism/p/3812947.html?utm_source=tuicool&utm_medium=referral
    lambda表达式
    Linq

    【课后作业】
    (以组为单位打包发送,邮件)
    时间:下周一,17-2-27之前

    目标:实现课程信息的增删改查
    备注:课程信息:课程编号(主键),课程名称,授课老师(教师编号),备注

    要求:
    1.建立数据库,表
    2.建立控制台程序,EF实体模型
    3.实现表的增删改查,其中增,删,改提供SQL语句(数据库Profilter监测到的SQL语句)

    相关文章

      网友评论

        本文标题:EntityFramework实现增删改查

        本文链接:https://www.haomeiwen.com/subject/utqiwttx.html