EF ORM

时间:2022-10-22 11:05:35
             //新增
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的更多相关文章

  1. 利用EF ORM Mysql实体运行程序出错解决方案

    程序环境:VS2013 + mysql (server 5.7 + connector net 6.9.9 + for visual studio 1.2.6) + entity framework ...

  2. 关于EF ORM 框架的使用问题

    1.无法更新 EntitySet“System_UserInfo20140218001”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping& ...

  3. 大叔 EF 来分析 EntityFrameworks&period;Data&period;Core 2

    Extensions 1DbCommand拦截器扩展DbCommandInterceptorExtensions 2Class for IQuerable extensions methods Inc ...

  4. Module Zero之Nuget包

    返回<Module Zero学习目录> ABP module-zero已经发布在了nuget上了.这里是所有的包列表. Abp.Zero module zero的核心包. Abp.Zero ...

  5. 如何提高码农产量,基于ASP&period;NET MVC的敏捷开发框架开发随笔一

    公司业务量比较大,接了很多项目,为了缩短开发周期老板让我牵头搭建了一个敏捷开发框架. 我们主要的业务是做OA.CRM.ERP一类的管理系统,一个通用的后台搭出来,再配合一些快速开发的组件开发效率能提高 ...

  6. 构建ASP&period;NET MVC5&plus;EF6&plus;EasyUI 1&period;4&period;3&plus;Unity4&period;x注入的后台管理系统

    开篇:从50开始系统已经由MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+EF6+Unity4.x+Quartz 2.3 +easyui 1.4. ...

  7. 构建ASP&period;NET MVC4&plus;EF5&plus;EasyUI&plus;Unity2&period;x注入的后台管理系统(1)-前言与目录(持续更新中&period;&period;&period;)

    转自:http://www.cnblogs.com/ymnets/p/3424309.html 曾几何时我想写一个系列的文章,但是由于工作很忙,一直没有时间更新博客.博客园园龄都1年了,却一直都是空空 ...

  8. MVC3&plus;EF4&period;1学习系列&lpar;三&rpar;-----排序 刷选 以及分页

    上篇文章 已经做出了基本的增删改查    但这远远不足以应付实际的项目  今天讲下实际项目中 肯定会有的 排序 刷选  以及分页. 重点想多写点分页的 毕竟这个是任何时候都要有的 而且 我会尽量把这个 ...

  9. MySql单表最大8000W&plus; 之数据库遇瓶颈记

    前言 昨晚救火到两三点,早上七点多醒来,朦胧中醒来发现电脑还开着,赶紧爬起来看昨晚执行的SQL命令结果.由于昨晚升级了阿里云的RDS,等了将近两个小时 还在 升降级中,早上阿里云那边回复升级过程中出现 ...

随机推荐

  1. Hosting static website on AWS

    http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html#root-d ...

  2. Turn off swi-prolog protocol output of ANSI terminal control sequences

    To save a record of program execution in prolog, we use the special predicates: protocol and noproto ...

  3. 快速同步mysql数据到redis中

    MYSQL快速同步数据到Redis 举例场景:存储游戏玩家的任务数据,游戏服务器启动时将mysql中玩家的数据同步到redis中. 从MySQL中将数据导入到Redis的Hash结构中.当然,最直接的 ...

  4. P1005 采药

    P1005 采药 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2005复赛普及组第三题 描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的 ...

  5. light oj 1148 - Mad Counting

    1148 - Mad Counting   PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: 32 MB M ...

  6. html通用导航条制作

    第一步:先创建一个盒子,定义类为 nav,width 1000,height 40px,防京东的导航,与浏览器顶部100px,margin-top:100px,看的更直观 第二步:使用无序列表放置,导 ...

  7. Model绑定

    Model绑定 在前面的几篇文章中我们都是采用在URI中元数据类型进行传参,实际上ASP.NET Web API也提供了对URI进行复杂参数的绑定方式--Model绑定.这里的Model可以简单的理解 ...

  8. Android---Parcelable包装类的作用

    android提供了一种新的类型:Parcel.本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递. 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel ...

  9. ArcGIS API for JavaScript 4&period;9 &amp&semi; 3&period;26 发布与新特性

    应该是中文首发?我只想说:更新太TMD快了 QAQ Part I -- JsAPI 4.9 主题1:在2D中默认启用WebGL渲染 在要素图层.CSV图层.流图层中是使用WebGL渲染的,这个任务由M ...

  10. Kotlin入门&lpar;24&rpar;如何自定义视图

    Android提供了丰富多彩的视图与控件,已经能够满足大部分的业务需求,然而计划赶不上变化,总是有意料之外的情况需要特殊处理.比如PagerTabStrip无法在布局文件中指定文本大小和文本颜色,只能 ...