随笔分类 -  Linq

摘要:在项目开发中,经常会碰到维护多对多(many to many)关系表间关系的操作,例如为人员配置角色、为人员配置部门、为产品配置类别等。如果没有经过程序设计而直接进行开发,将会过多地关注其细节问题,如:应删除那些数据、应添加哪些数据、应保留哪些数据等,导致开发效率降低。名词解释在本文开始之前,首先以用户-用户角色-角色表为例,声明三个概念:l 主表:如果为用户配置角色,那么用户就是主表;如果为角色... 阅读全文
posted @ 2010-08-25 14:17 poisson_notes 阅读(531) 评论(0) 推荐(0)
摘要:事务是一个原子的工作单位,必须完整的完成单位里的所有工作,要么全部执行,要么全部都不执行。如果提交事务,则事务执行成功;如果回滚事务,则事务执行失败。 事务具备4个基本特性--ACID(原子性、一致性、孤立性和持久性)。 在Linq to SQL中,有三种方法创建事务: 如果没有指定任何事务,那么当调用SubmitChanges方法时,DataContext会默认创建一个事务。 使用Trans... 阅读全文
posted @ 2010-06-15 01:24 poisson_notes 阅读(458) 评论(0) 推荐(0)
摘要:可以使用 into 上下文关键字创建一个临时标识符,以便将 group、join 或 select 子句的结果存储到新的标识符中。此标识符本身可以是附加查询命令的生成器。在 group 或 select 子句中使用新标识符的用法有时称为“延续”。 下面的示例演示使用 into 关键字来启用临时标识符 fruitGroup,该标识符具有推断类型 IGrouping。通过使用该标识符,可以对每个组调用... 阅读全文
posted @ 2010-06-15 00:51 poisson_notes 阅读(391) 评论(0) 推荐(0)
摘要:可以用 into 语法,配合 DefaultIfEmpty() 方法加载右侧表中的空值。例子: 注意这里最后可以通过 y != null 来判断右值是否为空。这个 Linq to sql 语句生成的对应 SQL 为:over. 阅读全文
posted @ 2010-06-15 00:47 poisson_notes 阅读(555) 评论(0) 推荐(0)