Entity FrameWork 增删查改
| Add |
#region 1.0 新增+void Add()
/// <summary>
/// 新增
/// </summary>
static void Add()
{
//1.创建实体对象,使用对象初始化器,初始化对象
Studnet stu = new Studnet()
{
//给字段名赋值
s_Name = "刘德华",
s_Sex = "男",
s_Age = ,
c_ID = , }; //2.创建EF数据上下文对象,通过EF,新增到数据库。
DB_USERSEntities db = new DB_USERSEntities(); //3将对象stu加入到数据上下文的Student集合中
db.Studnet.Add(stu); //4.调用数据上下文的保存方法,将对象保存到数据库
db.SaveChanges(); //------测试代码--------------
Console.WriteLine("新增成功"); }
#endregion
Add
| Modify |
修改很智能的,在生成SQl语句的时候,只是生成你修改过的某个列的字段的SQL语句,这个可以通过SQLServer工具栏里面的SQL Server profiler工具侦听到。
#region 2.0 修改(先查询再修改)
/// <summary>
/// 修改--(对于修改,官方标准的修改是先查询出要修改的数据,然后进行修改)
/// </summary>
static void Modify()
{
//创建数据上下文对象
DB_USERSEntities db = new DB_USERSEntities(); //FirstOrDefault返回结果的第一个元素
Studnet stu = db.Studnet.Where(s => s.s_ID == ).FirstOrDefault(); Console.WriteLine(string.Format("修改前的信息是{0} :", stu.ToString())); //修改数据
stu.s_Name = "张惠妹"; //重新保存到数据库
db.SaveChanges(); //------测试代码--------------------------------//
Console.WriteLine("修改成功");
Console.WriteLine(string.Format("修改后的信息是{0} :", stu.ToString()));
} #endregion
Modify
| Query |
//这里会查询到的结果是对象,就是类似于,system.什么什么。这是因为ToString()方法是Object对象的方法,这里我们需要来对Student对象,重写一个Tostring方法。
//因为T4模板,会在每次保存的时候,自动覆盖之前的修改,重新生成。所以需要为student写一个部分类,在部分类里面重写Tostring()方法
#region 3.0 简单查询
/// <summary>
/// 查询
/// </summary>
static void Query()
{
//创建数据上下文对象
DB_USERSEntities db = new DB_USERSEntities(); //查询
List<Studnet> stu= db.Studnet.Where(s => s.s_Name == "刘德华").ToList(); //------测试代码----------------------------------------//
//遍历查询到的数据
stu.ForEach(s => Console.WriteLine(s.ToString()));
}
#endregion
Query
| Delete |
//删除按理说也是和修改一样,需要先查出来要删除的数据,然后删除,但这里不这么做
db.表名.Remove(对象); //此方法只是标记了当前对象为删除状态,要删除需要先加到上下文中。
#region 4.0 删除
/// <summary>
/// 删除
/// </summary>
static void Delete()
{
DB_USERSEntities db = new DB_USERSEntities(); //测试删除指定的数据(创建要删除的对象)
Studnet stu = new Studnet() { s_ID=};
//附加到EF中
db.Studnet.Attach(stu);
//标记为删除
db.Studnet.Remove(stu);
//执行删除
db.SaveChanges(); //--------测试代码---------------//
Console.WriteLine("删除成功"); }
#endregion
Delete
Entity FrameWork 增删查改的更多相关文章
- Entity FrameWork 增删查改的本质
之前的文章里面已经说了,EF的增删查改.那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除...现在来一个改进版的,增删查改. 1.Add static void Add() { //1. ...
- 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 ...
随机推荐
- Hbase&Hadoop常用命令
Hbase中根据Rowkey的前缀Prefix查询数据: scan 'test_xiaomifeng_monitoring_log',{FILTER => "(PrefixFilter ...
- 深入剖析 redis 事件驱动
概述 redis 内部有一个小型的事件驱动,它和 libevent 网络库的事件驱动一样,都是依托 I/O 多路复用技术支撑起来的. 利用 I/O 多路复用技术,监听感兴趣的文件 I/O 事件,例如读 ...
- ubuntu 下安装 lxml 失败
/tmp/pip-build-7HN4t8/lxml/src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: N ...
- Mac Jenkins 权限问题
在官网下载dmg安装包,安装完毕即可在本机搭建jenkins的工作.但是jenkins不会用本地的用户去构建,任何创建的文件都是“jenkins”用户所有,这会造成很多权限问题,无法调用自己写的脚本, ...
- glide 加载圆角图片
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEIAAAD3CAIAAACW6Gb7AAAgAElEQVR4nOy9e1QbZf74//zO4XvOYz
- Swift 正式开源, 包括 Swift 核心库和包管理器
Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章.自从苹果发布 Swfit 编程语言,就成为了历史上发展最快的编程语言之一.Swift 通过设计使得软件编写更加快速更加安全 ...
- 【转】如何判断Javascript对象是否存在
Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...
- duilib 的IE浏览器控件去边框和去滚动条的代码
近些天在duilib群里经常有朋友问起,怎么让duilib的IE控件可以去边框,去滚动条的问题,或者是如何去控件IE控件的行为.为了避免重复的回答,我就写一篇博文,把处理方法说明一下. duilib中 ...
- 关于IT概念的一些思考
同事提及“软件工程.软件生命周期.项目管理.CMMI.IPD.RUP.UML及UML建模.面向对象分析与设计.需求分析.系统分析与设计……等等,它们到底是什么?它们之间有什么关系?” 下面是个人见 ...
- C#多线程管理代码
/// <summary> /// 多线程执行 /// </summary> public class MultiThreadingWorker { /// <summa ...