C# EF
EF 框架学习
Ca_va
我曾远去,我亦归来
展开
-
C#异常 报数据读取器与指定的“”不兼容。某个类型为“”的成员在同名的数据读取器中没有对应的列。
实现功能:查询单张表Student中返回指定的列一:数据库表结构:二:存储过程USE [AdventureWorksDW]GO/****** Object: StoredProcedure [dbo].[GetAllStudentInfo] Script Date: 2014/11/18 21:47:36 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- ================================转载 2020-12-09 19:01:51 · 1335 阅读 · 0 评论 -
C#之EF IQueryable/IEnumerable的比较与优化
在使用EF查询数据的时候,我们常用的查询数据方式有linq to sql,linq to object,查询返回的结果有两种类型:IQueryable、IEnumerable,两者内部的处理机制是完全不同的。清楚认识,这里也是一个数据查询的优化点。在System.linq命名空间,有两个静态类:Queryable和Enumerable.在System.linq.Queryable中,参数接收的是一个表达式类型,返回IQueryable接口public static IQueryable<TS转载 2020-10-28 16:28:01 · 882 阅读 · 0 评论 -
C#基础 EF之增删改查
增//1.创建一个EF数据上下文对象MyDBEntities context=new MyDBEntities();//2.将要添加的数据,封装成对象 Users user = new Users() {Age = 22, Name = "Kim1"};//3.将改对象放入EF容器中,默认会为该对象加一个封装类对象(代理类对象)//用户对对象的操作,实际上是对代理类的操作 //DbEntityEntry保存着实体状态,当对象被加入时,EF默认为该对象设置State的属性为unchanged转载 2020-07-23 15:13:58 · 640 阅读 · 0 评论 -
C#之EF 优化篇之EF优化
基本优化方式:1.避免使用大的数据库事务,尽量控制在有需求是打开,不需要是及时关闭,因为会锁定资源2.批量插入表数据,尽量避免在统一DBContext下做多次SavceChange操作3.若有大批数据需要插入表,尽量采用单表集中插入后再操作后续集,避免插入一条数据savaChange一次4.读取数据尽量按批量读取,避免取得一条数据读取一次查询100次单条记录与一次性查询100条记录是有很大差别的LInq的真假分页query.ToList().Skip((PageIndex - 1).转载 2020-09-18 11:38:27 · 1858 阅读 · 0 评论 -
C#之EF 使用篇之EF加载数据的方式
EF的关联实体加载有三种方式Lazy LoadingEager LoadingExplicit Loading*其中Lazy Loading和Explicit Loading都是延迟加载。(一)延迟加载(Lazy Loading:)(默认)1:1.使用的是动态代理2.默认情况下,如果POCO类满足以下两个条件,EF就使用延迟加载POCO类是Public且不为Sealed。导航属性标记为Virtual。3.关闭Lazy Loading可以将LazyLoadingEnabled设为f原创 2020-09-18 11:02:09 · 1335 阅读 · 0 评论 -
C#之EF 使用篇之EF的分类模式
Model First流程:1.创建控制台程序2.添加新项-“ADO.NET Entity Data Model”3.模型设计视图中,添加新实体4.添加实体属性添加两个Scalar属性:“Customer”和“OrderDate(为datetime类型,可选中它在属性中修改)”;同样的方式添加第二个实体“OrderDetail”,并添加“Product”和“UnitPrice”属性5.添加关联关系6.生成数据库在模型设计视图空白处选择“从模型生成到数据库7.选择数据库链接转载 2020-09-18 10:09:58 · 1216 阅读 · 0 评论 -
C#之EF 概念篇之ORM与EF体系架构
ORM特性核心原则:简单性传达性精确性优点面向对象 不用编码,就可以向操作对象一样操作数据库提高开发效率ORM可以自动对实体对象与数据库中表进行字段与属性的映射,不需要单独的数据访问层就可以对数据进行增删改查。方便转移数据库当数据库发生改变时,不需要对模型进行改动,只需要修改映射关系就可以 了。缺点不够灵活,对于复杂查询,ORM力不从心。执行效率低于直接 编写的SQL语句 。性能损耗,ORM中的映射和关系管理是以牺牲性能为代价的提高了学习成本。使用场合对性原创 2020-09-18 09:28:58 · 926 阅读 · 0 评论