EF ORM
//新增
UserInfo userInfo = new UserInfo();
userInfo.UserName = "YANG";
userInfo.UserPass = "";
userInfo.Email = "253@qq.com";
userInfo.RegTime = System.DateTime.Now; Model1Container db = new Model1Container();
db.UserInfoSet.Add(userInfo);
db.SaveChanges();
Response.Write(userInfo.Id);
//删除
UserInfo userInfo = new UserInfo() { Id = };
Model1Container db =new Model1Container();
// db.UserInfoSet.Remove(userInfo);//必须提前知道对象,不然报错,找不到对象
db.Entry<UserInfo>(userInfo).State = System.Data.Entity.EntityState.Deleted;
db.SaveChanges();
//查询
Model1Container db = new Model1Container();
var userInfoList = from u in db.UserInfoSet
where u.Id ==
select u;
foreach (var userInfor in userInfoList)
{
Response.Write(userInfor.UserName);
}
//修改
Model1Container db = new Model1Container();
var userInfoList = from u in db.UserInfoSet
where u.Id ==
select u;
var userInfo = userInfoList.FirstOrDefault();
userInfo.UserName = "成龙";
db.Entry<UserInfo>(userInfo).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
//一对多 新增
Model2Container db = new Model2Container();
Customer customer = new Customer() { CustomerName = "张三", CustomerPwd = "", SubTime = DateTime.Now };
OrderInfo orderInfo1 = new OrderInfo() { id = Guid.NewGuid(), OrderNum = "", CreateDateTime = DateTime.Now, Customer = customer };
OrderInfo orderInfo2 = new OrderInfo() { id = Guid.NewGuid(), OrderNum = "", CreateDateTime = DateTime.Now, Customer = customer };
OrderInfo orderInfo3 = new OrderInfo() { id = Guid.NewGuid(), OrderNum = "", CreateDateTime = DateTime.Now, Customer = customer };
db.CustomerSet.Add(customer);
db.OrderInfoSet.Add(orderInfo1);
db.OrderInfoSet.Add(orderInfo2);
db.OrderInfoSet.Add(orderInfo3);
db.SaveChanges();
.// 查询部分列
Model1Container db =new Model1Container();
var userInfoList = from u in db.UserInfoSet
where u.Id ==
select new { userName = u.UserName, userPwd = u.UserPass };
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.userName + ":" + userInfo.userPwd);
}
//lamda表达式
Model1Container db = new Model1Container();
var userInfoList = db.UserInfoSet.Where<UserInfo>(u => u.Id > ).OrderBy<UserInfo, int>(u=>u.Id);
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.UserName + ":" + userInfo.UserPass);
}
// 分页
//Model1Container db = new Model1Container();
//为了解决访问过程中出现多个EF连接,利用HttpContext对象的线程唯一对象属性,判断db访问对象是否存在
Model1Container db = null;
if (HttpContext.Current.Items["db"] == null)
{
db = new Model1Container();
HttpContext.Current.Items["db"] = db;
}
else
{
db = HttpContext.Current.Items["db"] as Model1Container;
}
int pageSize = ;
int pageIndex = ;
var userInfoList = db.UserInfoSet.Where<UserInfo>(u => true).OrderByDescending<UserInfo, int>(u => u.Id).Skip<UserInfo>((pageIndex-)*pageSize).Take<UserInfo>(pageSize); //如果转换为List,就无延迟加载
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.UserName + ":" + userInfo.UserPass+"<br/>");
} var userInfoList = db.UserInfoSet.Where<UserInfo>(u => u.Id > );//有延迟加载
var userInfoList1 = db.UserInfoSet.Where<UserInfo>(u => u.Id > ).ToList();//无延迟加载,直接将数据加载到内存中
EF ORM的更多相关文章
- 利用EF ORM Mysql实体运行程序出错解决方案
程序环境:VS2013 + mysql (server 5.7 + connector net 6.9.9 + for visual studio 1.2.6) + entity framework ...
- 关于EF ORM 框架的使用问题
1.无法更新 EntitySet“System_UserInfo20140218001”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping& ...
- 大叔 EF 来分析 EntityFrameworks.Data.Core 2
Extensions 1DbCommand拦截器扩展DbCommandInterceptorExtensions 2Class for IQuerable extensions methods Inc ...
- Module Zero之Nuget包
返回<Module Zero学习目录> ABP module-zero已经发布在了nuget上了.这里是所有的包列表. Abp.Zero module zero的核心包. Abp.Zero ...
- 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架开发随笔一
公司业务量比较大,接了很多项目,为了缩短开发周期老板让我牵头搭建了一个敏捷开发框架. 我们主要的业务是做OA.CRM.ERP一类的管理系统,一个通用的后台搭出来,再配合一些快速开发的组件开发效率能提高 ...
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统
开篇:从50开始系统已经由MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+EF6+Unity4.x+Quartz 2.3 +easyui 1.4. ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)
转自:http://www.cnblogs.com/ymnets/p/3424309.html 曾几何时我想写一个系列的文章,但是由于工作很忙,一直没有时间更新博客.博客园园龄都1年了,却一直都是空空 ...
- MVC3+EF4.1学习系列(三)-----排序 刷选 以及分页
上篇文章 已经做出了基本的增删改查 但这远远不足以应付实际的项目 今天讲下实际项目中 肯定会有的 排序 刷选 以及分页. 重点想多写点分页的 毕竟这个是任何时候都要有的 而且 我会尽量把这个 ...
- MySql单表最大8000W+ 之数据库遇瓶颈记
前言 昨晚救火到两三点,早上七点多醒来,朦胧中醒来发现电脑还开着,赶紧爬起来看昨晚执行的SQL命令结果.由于昨晚升级了阿里云的RDS,等了将近两个小时 还在 升降级中,早上阿里云那边回复升级过程中出现 ...
随机推荐
- iOS——调试工具LLDB学习
一.前言 LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件.在日常的开发和调试过程中给开发人员带 ...
- Linux 文件夹压缩命令总结
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...
- python获取当前运行程序的名字
import os filename = os.path.abspath(__file__) print filename 打印结果: E:\bluedon\test.py
- Python 创建递归文件夹
# 创建递归文件夹 def createfiles(filepathname): try: os.makedirs(filepathname) except Exception as err: pri ...
- BBS论坛(二十一)
21.1.编辑轮播图功能完成 (1)cms_banners.html 把属性绑定到<tr>上面,方便找到各属性的值 <tbody> {% for banner in banne ...
- 三种方式给apt设置代理
为什么设置代理,你懂得. 有很多第三方工具可以用,比如proxychains,非常好用,不过今天这不是正题.因为有可能没有代理,上网你都做不到,更别提下载软件了.想一想方法还是告诉你,免得你万一必须用 ...
- ARP协议分析
一.ARP概述 网络中所有的协议(HTTP.URL.FTP.TELNET.TCP.UDP.ARP ······)都包含在TCP/IP协议栈中,从使用上来看:其中大部分协议都是大家平常上网所接触到的,不 ...
- selenium和webdriver区别
接触selenium大概半年时间了.从开始的预研,简单的写个流程到后期的自动化框架的开发,因为本人不属于代码方面的大牛,一直的边研究边做.逐步深入学习.近期发现自己对本身selenium的发展还存在困 ...
- 【.NET Core项目实战-统一认证平台】第十五章 网关篇-使用二级缓存提升性能
[.NET Core项目实战-统一认证平台]开篇及目录索引 一.背景 首先说声抱歉,可能是因为假期综合症(其实就是因为懒哈)的原因,已经很长时间没更新博客了,现在也调整的差不多了,准备还是以每周1-2 ...
- 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你
<一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...