【问题标题】:LINQKit predicate for code first代码优先的 LINQKit 谓词
【发布时间】:2013-10-24 03:52:39
【问题描述】:

我已阅读此内容 (http://www.albahari.com/nutshell/predicatebuilder.aspx)

这是我的代码:

var predicateOuter = PredicateBuilder.True<T_Users>();
predicateOuter.And(d => d.code== 357);
var count=tService.GetCount(predicateOuter.Expand());

我的代码服务优先:

public int GetCountSearch(Expression<Func<T, bool>> exp)
{
    return _entities.Count(exp);
}

T_Users: 6548 中的所有记录

code==357 的所有记录:26

但它总是返回所有记录。但为什么呢?

【问题讨论】:

    标签: c#-4.0 ef-code-first predicatebuilder linqkit


    【解决方案1】:

    你需要使用Add的结果:

    // Assign result here to predicateOuter -
    predicateOuter = predicateOuter.And(d => d.code== 357);
    
    // This should now function properly
    var count = tService.GetCount(predicateOuter.Expand());
    

    Add 不会修改谓词,而是返回一个带有附加条件的新谓词。

    【讨论】:

    • 没错。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2015-05-12
    • 2017-09-26
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多