Entity FrameWork 增删查改的本质

时间:2021-09-23 00:31:09

之前的文章里面已经说了,EF的增删查改。那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除。。。现在来一个改进版的,增删查改。

1.Add

     static void Add()
{
//1.创建student对象,并使用对象初始化器,初始化这个对象
Studnet stu = new Studnet()
{
s_Name = "古巨基",
s_Sex = "男",
s_Age = ,
c_ID = , }; //2。将对象加入到EF,并获取当前实体的状态管理对象
DbEntityEntry entry= db.Entry<Studnet>(stu);
//3.设置对象的状态为Added(entry.State)
entry.State = System.Data.EntityState.Added;
//4.保存到数据库
db.SaveChanges(); //测试代码
Console.WriteLine("新增成功");
}

ADD

2.Modify

   /// <summary>
/// 自己动手写修改(优化的修改方式,创建对象直接修改)
/// </summary>
static void Edit()
{ //1.查询出一个要修改的对象
Studnet stu = new Studnet()
{
//1.查询出一个要修改的数据
//数据库中有s_ID为12的数据,这句话的意思是,把s_ID=12的记录的
//名字改为“小白!!!”,性别改为“女”,年龄改为“23”
s_ID = ,
s_Name = "小白!!!",
s_Sex = "女",
s_Age = ,
}; //2,把对象加入到EF容器,并获取当前实体对象的状态管理对象
DbEntityEntry entry=db.Entry<Studnet>(stu);
//3.设置该对象未被修改过,Unchanged.
entry.State = System.Data.EntityState.Unchanged;
//4.设置修改过的属性
entry.Property("s_Name").IsModified = true;
entry.Property("s_Sex").IsModified = true;
entry.Property("s_Age").IsModified = true; //5.保存数据库
db.SaveChanges(); //---测试
Console.WriteLine("修改成功"); }

Modify

3Delete

  /// <summary>
/// 删除
/// </summary>
static void Delete()
{ //1创建需要删除的对象,这里只是测试,删除Id=15的数据
Studnet stu = new Studnet() { s_ID = }; //2将对象加入到EF容器,并获取当前对象的状态管理对象
DbEntityEntry<Studnet> entry= db.Entry<Studnet>(stu); //3.把对象的状态改为Deleted
entry.State = System.Data.EntityState.Deleted; //4把数据保存到数据库
db.SaveChanges();
//测试用-----------------------
Console.WriteLine("删除成功");
}

Delete

Entity FrameWork 增删查改的本质的更多相关文章

  1. Entity FrameWork 增删查改

    Add #region 1.0 新增+void Add() /// <summary> /// 新增 /// </summary> static void Add() { // ...

  2. Entity Framework(三)---FluentAPI和增删查改

    一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...

  3. 6&period;在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  4. 3&period;EF 6&period;0 Code-First实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...

  5. 4&period;在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  6. 5&period;在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  7. EF各版本增删查改及执行Sql语句

    自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...

  8. 在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  9. 在MVC中使用泛型仓储模式和依赖注入实现增删查改

    标签: 原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository ...

随机推荐

  1. PHP 之道

    http://wulijun.github.io/php-the-right-way/

  2. Linux内存点滴:用户进程内存空间

    原文出处:PerfGeeks 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的.VIRT , Virtual Image (kb)RES, Residen ...

  3. Git教程--Git分支管理

    分支管理--原理分析 在前面讲到的版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.只有一条时间线的这条分支称为master,HEAD严格来说不是指向提交,而是指向maste ...

  4. deepinmind&lpar;转&rpar;

    http://it.deepinmind.com/ 花名有孚,支付宝工程师 有希望加入支付宝的同学,可以把简历发到我的个人邮箱spidercoco@gmail.com

  5. 浅谈JVM与内存分配

    一.程序内存分配 初始内存分配 当一个程序准备运行时,它首先向java虚拟机要内存,但是java虚拟机本身没有权限,它只能向操作系统申请内存,此时java虚拟机会拥有一个初始内存, 此处额外说明一下e ...

  6. Python3:几行代码实现阶乘

    阶乘:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1.自然数n的阶乘写作n!. #---------------------------------- 阶乘- ...

  7. Confluence 6 使用 JConsole 监控远程 Confluence

    针对生产系统中,我们推荐你使用远程监控,这个将不会消耗你远程 Confluence 服务器的资源. 启动远程监控: 添加下面的属性到 setenv.sh / setenv.bat 文件中,端口你可以定 ...

  8. Xcode 常用命令

    一些自己在开发过程中总结的命令,并不是完整的,会不断的更新. 1.图片转png格式 sips -s format png start.jpg --out StartBg.png 转换时,先cd 当前图 ...

  9. day5作业(基本数据类型字符串,列表)

    #coding:utf-8'''默写99乘法标 金字塔 必做: 1.昨日选做题 博客中有 http://www.cnblogs.com/linhaifeng/articles/7133357.html ...

  10. Code Signal&lowbar;练习题&lowbar;Array Replace

    Given an array of integers, replace all the occurrences of elemToReplace with substitutionElem. Exam ...