首页 > 解决方案 > 在 Linq 表达式中重构

问题描述

我有这样的方法:

public Expression<Func<Person, bool>> FilterPeople(string searchCriteria)
{
    return (person => 
        person.Address.Line1.Contains(searchCriteria) ||
        person.Address.Line2.Contains(searchCriteria) ||
        person.Address.Line3.Contains(searchCriteria));
}

此方法与实体框架结合使用,Where()对结果执行过滤(实际代码比此示例多几个条件)。

如果我想缩短person.Address为更易于管理的内容,例如a,我不知道该怎么做。

我认为像Ref Locals这样的东西可以解决问题,但我不知道如何在表达式主体中分配它。

有任何想法吗?

标签: c#entity-frameworklinq

解决方案


推荐阅读