EntityFramework实现增删改查

简介: 17-2-23EF数据库表一定要有主键【EF实现修改和删除】ctx.Entry(user).State = System.Data.Entity.EntityState.

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语句)

目录
相关文章
|
3月前
|
SQL Java 数据库连接
java链接hive数据库实现增删改查操作
java链接hive数据库实现增删改查操作
146 0
|
3月前
|
SQL 数据库 索引
gorm普通的增删改查
gorm普通的增删改查
28 0
|
3月前
|
存储 BI 数据库
PowerApps教程-实现简单的增删改查
PowerApps是Microsoft提供的低代码开发平台,允许用户无需编写大量代码,通过直观的界面设计快速创建应用程序。通过PowerApps的数据连接功能,系统可以轻松地与其他Microsoft 365服务(如SharePoint、Excel)进行集成,实现数据的无缝交互。本文详细介绍了如何使用PowerApps快速开发一个支持增删改查的报表页面,采用SharePoint上的List作为数据源。
67 0
|
2月前
|
关系型数据库 MySQL 数据库
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(一)
MySQL | 数据库的管理和操作【表的增删改查】
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(二)
MySQL | 数据库的管理和操作【表的增删改查】(二)
|
1月前
|
SQL 数据库连接 API
python链接数据库,实现数据增删改查
python链接数据库,实现数据增删改查
24 7
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的表的增删改查【进阶】【万字详解】(二)
MySQL | 数据库的表的增删改查【进阶】【万字详解】(二)
|
3月前
|
存储 关系型数据库 MySQL
MySQL | 数据库的表的增删改查【进阶】【万字详解】(一)
MySQL | 数据库的表的增删改查【进阶】【万字详解】(一)
|
3月前
|
关系型数据库 MySQL 数据库
MySQL | 数据库的管理和操作【表的增删改查】(三)
MySQL | 数据库的管理和操作【表的增删改查】(三)

热门文章

最新文章