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

目录
相关文章
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
38 1
|
1月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
70 5
|
1月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
33 5
|
2月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
1月前
|
JavaScript 前端开发 测试技术
[新手入门]todolist增删改查:vue3+ts版本!
【10月更文挑战第15天】[新手入门]todolist增删改查:vue3+ts版本!
|
2月前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
1月前
|
Java API 数据库
Data jpa 增删改查的方法分别有哪些
Data jpa 增删改查的方法分别有哪些
|
3月前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
60 0
|
3月前
|
Java 前端开发 Spring
技术融合新潮流!Vaadin携手Spring Boot、React、Angular,引领Web开发变革,你准备好了吗?
【8月更文挑战第31天】本文探讨了Vaadin与Spring Boot、React及Angular等主流技术栈的最佳融合实践。Vaadin作为现代Java Web框架,与其他技术栈结合能更好地满足复杂应用需求。文中通过示例代码展示了如何在Spring Boot项目中集成Vaadin,以及如何在Vaadin项目中使用React和Angular组件,充分发挥各技术栈的优势,提升开发效率和用户体验。开发者可根据具体需求选择合适的技术组合。
79 0
|
3月前
|
SQL 关系型数据库 数据库连接
Entity Framework Core 入门教程来袭!快速上手强大的 ORM 工具,开启高效数据库开发之旅!
【8月更文挑战第31天】Entity Framework Core(EF Core)是一个轻量且可扩展的对象关系映射(ORM)框架,允许开发者使用 .NET 语言操作数据库而无需直接编写 SQL 语句。本教程涵盖 EF Core 的安装、数据库上下文创建、数据库连接配置及常见数据库操作(如添加、查询、更新和删除),并介绍如何利用数据库迁移功能安全地更改数据库结构。通过本教程,你可以快速掌握 EF Core 的基本用法,提高开发效率。
101 0
下一篇
无影云桌面