C#进行数据筛选(二)
2021-04-08 03:26
标签:lambda表达式 pre queryable size UI ora rate 介绍 default 这里介绍LINQ+Lambda表达式进行数据筛选的方式 这里是第一种方式,还是使用了if条件语句去判断,根据选择的条件去筛选出我所需要的数据 第二种方式,直接用Lambda自带的筛选属性 //这里写的是进行全表查询,不建议使用 下面展示一个多个Lambda表达式进行表操作的方法 完美的动态拼接Lambda表达式如下: 下面是一种多Lambda表达式操作的一个范例,这里部分引用来自https://blog.csdn.net/leewhoee/article/details/8968023,自己懒得去敲了,顺手就借来用了 C#进行数据筛选(二) 标签:lambda表达式 pre queryable size UI ora rate 介绍 default 原文地址:https://www.cnblogs.com/yinxuejunfeng/p/9095878.html public GxAnaly SelectDay(string ID, DateTime Day)
{
try
{
DBEntities db = new DBEntities();
var temp = (from pt in db.Tb_Analysis
where pt.ID == Sn
select pt).ToList();
// return temp.Any() ? LoadFromModel(temp.First()) : null;
if (temp.Count == 0)
{
return null;
}
else
{
List gxDetail = new List();
List Detail = new List();
temp.ForEach(e => gxDetail.Add(LoadFromModel(e)));
foreach (Analy Detail in gxDetail)
{
if (Detail.OtTime.Day == Day.Day&&Detail.OtTime.Month==Day.Month&&Detail.OtTime.Year==Day.Year)
{
Detail.Add(Detail);
}
}
if (Detail.Count == 0)
{
return null;
}
else
{
return Detail.FirstOrDefault();
}
}
}
catch (Exception ex)
{
return null;
Logger.Error(ex.Message + ex.StackTrace);
}
}
using(var db=new MyDbContext())
{
var s= db.Students.ToList().First(s=>s.ID=10086);
}
//根据相应的条件进行查询,不会去查询全表,特别在数据量庞大的时候,建议加个判断
using(var db=new MyDbContext())
{
var list =db.Students.AsQueryable();
if(********){list=list.Where(s=>s.ID=1200);}
if(******){list=list.Where(...)}
} public static class PredicateBuilder
{
public static Expression
using (var db = new MyDbContext())
{
var predicate = PredicateBuilder.True
using (var db = new SHTrackerDbContext())
{
var predicate = PredicateBuilder.True