lianxiEntities db = new lianxiEntities();//上下文的入口

#region //EF Added

//UserInfo user = new UserInfo();
            ////user.UserInfoId = 1;自增长不用赋值
            //user.UserInfoName = "张三1";
            //user.SubTime = DateTime.Now;

////在这里只是告诉上下文去要保存此实体
            //db.UserInfo.AddObject(user);

//UserInfo user1 = new UserInfo();
            ////user.UserInfoId = 1;自增长不用赋值
            //user1.UserInfoName = "张三2";
            //user1.SubTime = DateTime.Now;

////在这里只是告诉上下文去要保存此实体
            //db.UserInfo.AddObject(user1);

////在这里才真正的去保存到数据库,执行Sql脚本
            //db.SaveChanges();
            #endregion

#region //查询UserInfoId=2的userinfo实体
            //在下面u非常类似于foreach(var item in xx)
            var user1 = (from u in db.UserInfo
                        where u.UserInfoId == 2
                         select u).FirstOrDefault<UserInfo>();//推荐使用这种方式,不抛异常,如果一个应用程序使用try{} catch(){}如果代码抛出异常的时候也就是catch的时候会比较消耗资源,所有最好不用SingleOrDefault

//var user2 = (from u in db.UserInfo
            //            where u.UserInfoId == 2
            //             select u).First<UserInfo>();//用First,如果集合里面是空的话就会报一个异常

//var user3 = (from u in db.UserInfo
            //             where u.UserInfoId == 2
            //             select u).SingleOrDefault<UserInfo>();
            ////SingleOrDefault返回单个或者是默认值

//var user4 = (from u in db.UserInfo
            //             where u.UserInfoId == 2
            //             select u).Single<UserInfo>();

//

//FirstOrDefault<UserInfo>();如果集合里面有多条数据则返回第一条,如果没有则返回默认值

#region //update

//在上面已经把实体查询出来了,如果要修改的话只需要改属性,然后在保存就可以了
            //查询出来的实体,默认是被上下文跟踪的
            user1.UserInfoName = "zhangsan";
            db.SaveChanges();

#endregion

#region //delete
               db.UserInfo.DeleteObject(user1);
               db.SaveChanges();
            #endregion
         
            Console.WriteLine(user1.UserInfoName);

#endregion

EF操作增删改查的更多相关文章

  1. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  2. EF实现增删改查

    从来没想到过能在这个上面翻车,感慨自学没有培训来得系统啊,废话不多说 ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一 ...

  3. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  4. Hbase常用操作(增删改查)

    Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区  作者:net19880504 [字体:大 中 小]     运行Eclipse,创建一个新的Java工程“HBa ...

  5. [.NET源码] EF的增删改查

    EF的增删改查 创建上下文对象:WordBoradEntities db = new WordBoradEntities(); 一.添加: //1.1创建实体对象 User uObj = new Us ...

  6. http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查

    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查

  7. Android-Sqlite-OOP方式操作增删改查

    之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...

  8. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  9. EF CodeFirst增删改查之‘CRUD’

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    本篇旨在学习EF增删改查四大操作 上一节讲述了EF ...

随机推荐

  1. web到service简单原理例子

    这是目前的理解 附上服务端源码 package com.lsw.server; import java.io.*; import java.net.*; import java.util.HashMa ...

  2. Java_集合与泛型

    Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据.在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是 ...

  3. CentOS查看内核版本、系统版本、系统位数

    http://blog.51cto.com/ultrasql/1640435

  4. 【原创】SQL Server常用脚本整理

    --1.禁用启用账号账号 set nocount on SELECT 'ALTER LOGIN ' + name + ' ENABLE' FROM master.sys.server_principa ...

  5. Python内存管理方式和垃圾回收算法解析

    在列表,元组,实例,类,字典和函数中存在循环引用问题.有 __del__ 方法的实例会以健全的方式被处理.给新类型添加GC支持是很容易的.支持GC的Python与常规的Python是二进制兼容的. 分 ...

  6. ONVIF开发实例

    <开发过过程中的经验总结> ➤工具的使用     (1)首先将文件soapClientLib.c 中"代码"的第二行和第三行注释掉,实际上该文件根本没有用,为了保险起见 ...

  7. django项目添加新的app

  8. Qt Quick快速入门之信号、槽

    信号和槽主要用于组件之间的通信,类似于.net和java中的委托. 使用QObject::connect方法将信号与槽关联起来,然后信号的发起者发出信号,接受者中的槽函数就会执行. 比如connect ...

  9. 使用 Nokia Imaging SDK 开发有滤镜功能的 Windows Phone 8 应用

    说到滤镜应用,相信很多数开发者都对照片特效的经验都十分有限,通常都是去找一些三方的类库进行学习或移植,今天在这里给大家介绍下 Nokia 的 Imaging SDK, 相信大家对Nokia的自家图像软 ...

  10. Substring with Concatenation of All Words 题解

    题意 You are given a string, s, and a list of words, words, that are all of the same length. Find all ...