前言:自学CSharp挺长时间的了,这是我第一编博客,跟大家分享一下.如有不足地方请多多包涵,也欢迎大家提出更好的意见,下面开始进入正题. 一.泛型缓存 1.概念:1.泛型(泛型也是一种推断类型,从而实现不同类型可以使用同一个类或者方法.属性,大大的减少代码的冗余)   2.缓存(暂时存储) 2.应用场景(通俗易懂的理解):场景1.执行同参数的泛型方法时为了提高性能减少对方法体执行的次数,就可以使用泛型缓存之前执行过的返回值. 还有其他应用场景不一 一 举例,需要认真体会. 3.代码执行流程图…
请注明转载地址:http://www.cnblogs.com/arhat 在前几章中,老魏一直使用Linq来查询Entity Framework.但是老魏感觉,如果使用Linq的话,那么Linq的返回值类型有的时候不是很容易找出来,没有直接使用Lambda来的直观,至少在Lambda中我们可以指定返回的类型,这样一来就可以指定返回值了. 在本章的开始呢,老魏先复习一下.NET提供的几个常用的Lambda委托,而这些委托可以说是经常又得到的,尤其实在IEnumerable<T>和 IQuerya…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案.我们构建的应用,应当具备在部署环境中接受改变的能力,我们将应用构建得足够灵活,使其几乎没有配置需要硬编码. 前三节向你提供了应对这些挑战的办法.剩下的小节覆盖了诸如:实体框架的单复数服务.使用edmgen.exe实用工具.使用标识关系以及从ObjectContext中获取对象. 7-1  动态构建连接字符串…
在使用Entity Framework 访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了.比如下面的例子:用Lambda访问MSSqlServer中的NewsInfo表中id小于20的记录. 代码如下: 运行程序,程序工作正常.打开SQL Server Profiler 跟踪EF生成的SQL语句,结果如下: 这正是我们想要的SQL语句.下面我们将程序改一下,把Lambda表达式以参数的形式传递给一个方法GetNewsList(Func<NewsInfo, bo…
很久没有写博客了,一些读者也经常问问一些问题,不过最近我确实也很忙,除了处理日常工作外,平常主要的时间也花在了继续研究微软的实体框架(EntityFramework)方面了.这个实体框架加入了很多特性(例如LINQ等),目前也已经应用的比较成熟了,之所以一直没有整理成一个符合自己开发模式的实体框架,是因为这个框架和原来我的基于EnterpriseLibrary的模式还是有很大的不同,不过实体框架推出来也很久了,目前也去到了EntityFramework6了,听说7也快出来了. 随着我自己参考阅读…
entity framework 动态条件 问题:在实际编码过程中,根据不同的选择情况,会需要按照不同的条件查询数据集 如:状态confirmStatus ,如果为空的时候,查询全部,如果有具体值的时候,查询相应的值 同时还有其他条件,外键编号 task 等等. 这个时候,需要根据条件的值来判断是否增加该条件 using (CadalEntities cadalEntities = new CadalEntities()) { string taskId = 12; string itemCon…
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去年我写过一篇关于Entity Framework Core1.0和1.1的日志记录和事务的文章: 一步步学习EF Core(2.事务与日志) 时过境迁..EF Core也更新到2.0了.. 在日志记录方面,有了比较大的变化..所以我觉得还是需要学习学习 正文 一. Entity Framework…
在Linq to sql 和 Entity framework 中使用lambda表达式实现left join 我们知道lambda表达式在Linq to sql 和 Entity framework 中使用join函数可以实现inner join,那么怎么才能在lambda表达式中实现left join呢?秘诀就是在join后面加上一个函数DefaultIfEmpty函数,实际上这个函数在linq中貌似也只有将inner join转换为left join的作用,示例如下 var joinRes…
自从ADO.NET Entity Framework面世以来,受到大家的热捧,它封装了大量代码生成的工具,用户只需要建立好实体之间的关系,系统就是会为用户自动成功了Add.Delete.CreateObject.Attach.ToList......等等方法,这些方法基本上已经包含获取.删除.插入等基本方法,使用起来非常方便.只是在实体的更新上,由于LINQ面向的是泛型对象T,所以每个对象的更新方法都要由用户自动编辑.有见及此,下面在下利用反射方法,创建了一个更新工具,此工具可以更新Object…
Entity Framework本身的增删改查其实 已经很方便了,不过做项目的时候用的多了也就觉得有点累了,每个业务实体基本上都涉及到到了增删改查这四个基本的要素,至于封装每个公司可能都不一样,接口,设计模式都用的眼花缭乱,我闲来没事就搞个简单的封装Helper,Github上也有关于EF的扩展Libray,具体没有用过,公司的有自己的封装,自己也没怎么弄,具体地址:https://github.com/loresoft/EntityFramework.Extended. 首先来看段代码,mod…