之前的文章里面已经说了,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 增删查改的本质的更多相关文章
-
Entity FrameWork 增删查改
Add #region 1.0 新增+void Add() /// <summary> /// 新增 /// </summary> static void Add() { // ...
-
Entity Framework(三)---FluentAPI和增删查改
一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...
-
6.在MVC中使用泛型仓储模式和依赖注入实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
-
3.EF 6.0 Code-First实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...
-
4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
-
5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
-
EF各版本增删查改及执行Sql语句
自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...
-
在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
-
在MVC中使用泛型仓储模式和依赖注入实现增删查改
标签: 原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository ...
随机推荐
-
PHP 之道
http://wulijun.github.io/php-the-right-way/
-
Linux内存点滴:用户进程内存空间
原文出处:PerfGeeks 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的.VIRT , Virtual Image (kb)RES, Residen ...
-
Git教程--Git分支管理
分支管理--原理分析 在前面讲到的版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.只有一条时间线的这条分支称为master,HEAD严格来说不是指向提交,而是指向maste ...
-
deepinmind(转)
http://it.deepinmind.com/ 花名有孚,支付宝工程师 有希望加入支付宝的同学,可以把简历发到我的个人邮箱spidercoco@gmail.com
-
浅谈JVM与内存分配
一.程序内存分配 初始内存分配 当一个程序准备运行时,它首先向java虚拟机要内存,但是java虚拟机本身没有权限,它只能向操作系统申请内存,此时java虚拟机会拥有一个初始内存, 此处额外说明一下e ...
-
Python3:几行代码实现阶乘
阶乘:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1.自然数n的阶乘写作n!. #---------------------------------- 阶乘- ...
-
Confluence 6 使用 JConsole 监控远程 Confluence
针对生产系统中,我们推荐你使用远程监控,这个将不会消耗你远程 Confluence 服务器的资源. 启动远程监控: 添加下面的属性到 setenv.sh / setenv.bat 文件中,端口你可以定 ...
-
Xcode 常用命令
一些自己在开发过程中总结的命令,并不是完整的,会不断的更新. 1.图片转png格式 sips -s format png start.jpg --out StartBg.png 转换时,先cd 当前图 ...
-
day5作业(基本数据类型字符串,列表)
#coding:utf-8'''默写99乘法标 金字塔 必做: 1.昨日选做题 博客中有 http://www.cnblogs.com/linhaifeng/articles/7133357.html ...
-
Code Signal_练习题_Array Replace
Given an array of integers, replace all the occurrences of elemToReplace with substitutionElem. Exam ...