linq 的switch实现

List<RemindSend> lrs = (from a in db.Remind
join b in db.Certified
on a.certifiedId equals b.CertifiedId
where a.status == 1 && a.addTime.Year == DateTime.Now.Year && a.addTime.Month == DateTime.Now.Month && a.addTime.Day == DateTime.Now.Day
select new RemindSend
{
cerfiedid = b.CertifiedId,
queueCode = b.QueueCode,
queueNum = b.QueueNum,
openid = a.openid,
remindPerson = b.QueueCode.Substring(0, 1) == "F" ?
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueNum < b.QueueNum && c.QueueCode.StartsWith(b.QueueCode.Substring(0, 1))).Count()
: b.QueueCode.Substring(0, 1) == "B" ?
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueCode.StartsWith("F")).Count() +
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueNum < b.QueueNum && c.QueueCode.StartsWith(b.QueueCode.Substring(0, 1))).Count()
: b.QueueCode.Substring(0, 1) == "A" ?
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueCode.StartsWith("F")).Count() +
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueCode.StartsWith("B")).Count() +
db.Certified.Where(c => c.Status == 1 && c.GetTime.Year == DateTime.Now.Year && c.GetTime.Month == DateTime.Now.Month && c.GetTime.Day == DateTime.Now.Day && c.QueueNum < b.QueueNum && c.QueueCode.StartsWith(b.QueueCode.Substring(0, 1))).Count()
: 1,
remindid = a.remindid
}).ToList();

时间: 2024-10-10 08:06:16

linq 的switch实现的相关文章

数据字典+匿名委托模拟switch/case功能

基本思想每个case的选择值作为键,处理过程做成函数委托存放进数据字典.用的时候根据之调用.下面上代码 封装的FuncSwitcher类 using System; using System.Collections.Generic; namespace Test {     class FuncSwitcher<T>     {         int count;         Dictionary<T, Delegate> FuncGather;         Delega

LINQ To SQL 语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select c

Linq to Sql语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下 面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select

LINQ综合学习大全

LINQ体验 LINQ体验(1)——Visual Studio 2008新特性 一.写本系列的目的 我平时利用课余零碎时间来学习ASP.NET3.5.LINQ.Silverlight.ASP.NET 3.5 Extensions等新东西,通过笔记形式来记录自己所学的历程,也给大家一起学习Visual Studio 2008 和 .NET 3.5提供一个平台,为保证此系列的完整性,我打算先依次介绍一下C# 3.0新语言特性和改进,然后从一条一条LINQ语句分析来贯穿LINQ的知识点.最后通过一个实

Sliverlight linq中的数组筛选数据库中的数据

首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. 它是.NET框架的扩展,它允许我们以数据库查询的方式查询数据集合. 借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据. 接下来讲讲我工作中用到的 linq中的数组筛选数据库中的数据 public List GetList1(string cardPhone,string

LINQ浅析

在C# 3.0之前,我们对不同的数据源(数据集合.SQL 数据库.XML 文档等等)进行操作(查询.筛选.投影等等),会使用不同的操作方式. C# 3.0中提出了LINQ(Language Integrated Query)这个非常重要的特性, LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越.过滤和投射操作的统一方式. 关于LINQ中标准操作符的介绍和使用,园子里有很多很好的文章了,所以这里就不介绍LINQ的操作符使用了,主要通过一些概念和例子介绍LIN

LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)

Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来:延迟. Select/Distinct操作包括9种形式,分别为简单用法. 匿名类型形式.条件形式.指定类型形式.筛选形式.整形类型形式. 嵌套类型形式.本地方法调用形式.Distinct形式. 1.简单用法: 这个示例返回仅含客户联系人姓名的序列. var q = from c i

从LINQ开始之LINQ to Objects(下)

前言 上一篇<从LINQ开始之LINQ to Objects(上)>主要介绍了LINQ的体系结构.基本语法以及LINQ to Objects中标准查询操作符的使用方法.本篇则主要讨论LINQ to Objects中的扩展方法以及延迟加载等方面的内容. 扩展方法 扩展方法简介 扩展方法能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或其他方式修改原始类型.扩展方法是静态方法,它是类的一部分,但实际没有放在类的源代码当中.下面,我们来看一个简单示例,为上一篇中定义的

LINQ to Entities 不识别方法“Int32 Parse(System.String)”,因此该方法无法转换为存储表达式。解决

  问题描述 最近在用LINQ to Entities,看看下面的代码 //获取分页数据 var admins = from aa in db.VAccountAdmins select aa; //处理过滤规则 if (null != filterRules) { JArray roles = (JArray) JsonConvert.DeserializeObject(filterRules); foreach (var fr in roles) { string field = fr["f