gpt4 book ai didi

c# - EF 中的动态搜索表达式问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:19 25 4
gpt4 key购买 nike

我目前正在使用类似于以下的数据结构:

public class Individual
{
//Other properties omitted for brevity sake

public List<IndividualName> IndividualNames {get; set;}
}

public class IndividualName
{
public string FamilyName {get; set;}
public string GivenName {get; set;}
public string MiddleName {get; set;}
}

我正在尝试使用一些动态搜索表达式从我的表示层传递到存储库级别(以实际应用搜索)。

但是,由于一个个体可以拥有 1-M 个个体名称,我遇到了一些问题,我正在尝试使用 LINQ 来获取一个个体的所有个体名称,以便可以查询它们。

例如 - 这是表达式当前的样子:

searchExpressions.Add(new SearchExpression("Individual
.IndividualNames
.Select(GivenName)
.FirstOrDefault()"
, ComparisonOperator.Contains, "Test");

这目前只会确定第一个 IndividualName 实例中的 GivenName 是否包含“Test”。上面的工作正常 - 但是我对如何确定是否有任何 IndividualNames 包含该字符串有点困惑。

任何帮助将不胜感激 - 因为我已经尝试了几件事但没有任何运气。

最佳答案

我想你会寻找......

searchExpressions.Add(new SearchExpression("Individual
.IndividualNames
.Select(GivenName)",
ComparisonOperator.Contains, "Test");

您还需要将 Contains Aggregate Method 添加到 Dynamic Linq 库中。可以在此处找到如何执行此操作。 http://blog.walteralmeida.com/2010/05/advanced-linq-dynamic-linq-library-add-support-for-contains-extension-.html

关于c# - EF 中的动态搜索表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com