简介 在前面EF的介绍中,曾多次提到过EF可以使用Lambda和Linq来完成对数据库的访问,这两种的语法的具体使用和注意事项在前面的DotNet进阶的系列章节中已经详细介绍过了,本次借着EF章节,重新调整了一下里面的规范和注意事项. 1. Lambda语法 七类核心用法: 0. Select最基本的用法:查询单表中所有数据 1. Where的用法:单条件.多条件.模糊查询 2. select查询指定列:匿名类写法(指定匿名类的名称或使用默认表的名称) 3. 排序问题: ① 单条件单次升序:Or…
(1)//删除操作 public bool delete() { try { a_context = new AEntities(); b1 = new Table_1(); //删除只需要写主键就行了 b1.id = 3; a_context.Entry<Table_1>(b1).State = EntityState.Deleted; a_context.SaveChanges(); return true; } catch (Exception) { return false; } }…
1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为.例如,在一个方法前标注[Obsolete]特性,则调用该方法时VS则会提示该方法已过期的警告,如下图: 又如,在.Net Re…
摘要 NHibernate从3.0开始支持Linq查询.写Linq to NHibernate查询就跟写.net linq代码一样,非常灵活,可以很容易实现复杂的查询.这篇文章使用Linq to NHibernate重写之前所有的查询. 本篇文章的代码可以到NHibernate查询下载 1.创建IQueryable对象,返回所有Customer对象信息 public IList<Customer> QueryAllLinq() { return Session.Query<Custome…
一. 整体说明 1. 本节用到的表 2. 状态说明补充 ①.Detached: 游离的状态,与数据库没有什么交涉,比如新new一个实体,状态就是Detached. ②.Added: 增加的状态. ③.Deleted: 删除的状态. ④.Modified: 修改的状态. ⑤.Unchanged: 与数据库内容相比,未发生变化时的状态,从数据库中查询出来的对象就是Unchanged状态. PS:查询出来的实体,AsNoTracking一下,就变成Detached游离状态了 . using (DbCo…
简介 使用线程的主要原因:应用程序中一些操作需要消耗一定的时间,比如对文件.数据库.网络的访问等等,而我们不希望用户一直等待到操作结束,而是在此同时可以进行一些其他的操作.  这就可以使用线程来实现.  本文主要介绍关于Thread和ThreadPool的基础知识. Thread类 基本用法 使用Thread类可以创建和控制线程,在下面的示例代码中,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数.ThreadStart委托…
//计算本周时间 时间 > DateTime.Now.AddDays(-Convert.ToInt32(DateTime.Now.Date.DayOfWeek) //计算本月时间 时间 > DateTime.Now.AddDays(-Convert.ToInt32(DateTime.Now.Date.Day))…
C#编程语言非常优美,我个人还是非常赞同的.特别是在学习一段时间C#后发现确实在它的语法和美观度来说确实要比其它编程语言强一些(也可能是由于VS编译器的加持)用起来非常舒服,而且对于C#我觉得他最优美之处不仅仅是语法糖方面还有就是体现在LINQ和Lambda表达式. 本篇文简单介绍一下关于C#当中LINQ表达式和其对应的Lambda表达式的用法,关于这两部分内容的相关参考资料: 人民邮电出版社<C#程序设计及应用教程>(第3版) 博客园博客:<c# Linq查询> 同时在介绍的时候…
c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用. 下面将分别用简单的例子说明:ling基本查询.延迟查询属性.类型筛选.复合from字句.多级排序.分组查询.联合查询.合并.分页.聚合操作符.并行linq.取消长时间运行的并行ling查询. Lambda表达式简介: /*Lambda表达式:Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数 表达式位于 => 运算符右侧的 lambda 表达式称为"表达式 lambda". * (i…
前言 本文总结学习C#必须知道的基础知识,委托.监视者模式.常用lambda表达式.linq查询,自定义扩展方法,他们之间有什么关系呢?匿名委托是如何演变成lambda表达式,lambda再如何导出linq语句的? 委托 用delegate关键字声明委托,引用MSDN上的一段内容:委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的调用可以像其他任何方法一样,具有参数和返回值. using System; namespace ConsoleApplicat…