导航查询+where的用法问题 返回
//导航+子表过滤 5.0.9.4-preview06 请注意升级
//创建一个扩展函数,默认是Class不支持Where
public
static
List<T> Where<T>(
this
T thisValue, Func<T,
bool
> whereExpression )
where
T:
class
,
new
()
{
return
new
List<T>() { thisValue };
}
var
list = db.Queryable<Student_003>()
.Includes(x => x.school_001.Where(z=>z.Name==
"a"
).ToList())
//扩展的Where对子表进行过滤
.ToList();
//5.0.9.4-preview06 才支持 请注意升级 请注意升级
这块的代码没看懂,这个扩展函数要加到哪里
热忱回答(3)
-
滑天下之大稽 VIP01个月前
整一个扩展类。里面写个方法入参就是当前这个Db上下文。
类似这样:
public static partial class Extention
{
/// <summary>
/// 符合条件则Where
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="q">数据源</param>
/// <param name="need">是否符合条件</param>
/// <param name="where">筛选</param>
/// <returns></returns>
public static ISugarQueryable<T> WhereIf<T>(this ISugarQueryable<T> q, bool need, Expression<Func<T, bool>> where)
{
if (need)
{
return q.Where(where);
}
else
{
return q;
}
}
}
0 回复 -
悠然一生 VIP01个月前
@滑天下之大稽:多谢,我试试
0 回复 -
fate sta VIP01个月前
百度 C# 扩展方法 用法
0 回复