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,等了将近两个小时 还在 升降级中,早上阿里云那边回复升级过程中出现 ...
随机推荐
- zuul网关入门(一、网关具有的功能)
1. zuul网关入门(一.网关具有的功能) 1.1. 基本场景 1.1.1. API网关的由来 1.1.2. API网关基本功能 1.2. 高级应用 1.2.1. 亮点 可动态发布的过滤器机制 1. ...
- ubuntu中环境变量的几个问题思考
问题一:export PATH=$PATH:/usr/local和export PATH=/usr/local:$PATH这两个的区别是什么?可以随便用吗? 这两个都是要把该目录加到环境变量中,一般的 ...
- 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?
我想大部分都知道 i++ 和 ++i的区别,i++ 就是先拿i来使用,之后再自增加1,而++i则是先自增加1,在拿i来使用,例如对于下面这两个语句,我敢保证大部分人都会做: int i = 1; Sy ...
- springboot+mybatis+dubbo+aop日志第一篇
本篇文章主要讲述项目搭建过程,不会涉及过多的基础知识,本项目是作者对前段时间学习的一个总结,主要使用到技术有:maven父子工程.springboot.mybatis.dubbo.zookeeper. ...
- ES6躬行记(19)——生成器
根据ES6制订的标准自定义迭代器实现起来比较复杂,因此ES6又引入了生成器的概念,生成器(Generator)是一个能直接创建并返回迭代器的特殊函数,可将其赋给可迭代对象的Symbol.iterato ...
- mongodb学习(入门。。。。。)
db.xs.insert({name:zhangsan}) db:当前数据库 xs:学生集合(没有的话自动创建) show collections 显示当前数据库的集合名字 show dbs ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)
环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...
- 使用Common.Logging+log4net规范日志管理【转载】
使用Common.Logging+log4net规范日志管理 Common.Logging+(log4net/NLog/) common logging是一个通用日志接口,log4net是一个强大 ...
- sql 参数化查询问题
一.正确案例 string name=“梅”; string sql="select * from test where Name like @Name"; //包含 梅Sql ...
- TSP(Traveling Salesman Problem)-----浅谈旅行商问题(动态规划,回溯实现)
1.什么是TSP问题 一个售货员必须访问n个城市,这n个城市是一个完全图,售货员需要恰好访问所有城市的一次,并且回到最终的城市. 城市于城市之间有一个旅行费用,售货员希望旅行费用之和最少. 完全图:完 ...