gpt4 book ai didi

linq - 使用 IsNullOrWhitespace 检查从 IQueryable 中选择值

转载 作者:行者123 更新时间:2023-12-01 12:48:53 25 4
gpt4 key购买 nike

我正在尝试使用 IQueryable 表达式执行以下操作:

(from Person p in s
select new
{
label = p.FirstName + " "
+ (string.IsNullOrWhiteSpace(p.MiddleName) ? p.MiddleName + " " : "")
+ p.LastName,
value = p.Id
}).ToList();

我收到以下错误:

LINQ to Entities does not recognize the method 'Boolean 
IsNullOrWhiteSpace(System.String)' method, and this method cannot be
translated into a store expression.

解决这个问题的方法是什么?

最佳答案

String.IsNullOrWhitespace 是字符串对象的静态函数,不能与 Entity Framework 查询一起使用,而 p.FirstName.StartsWith("S") 是实体属性的方法,可以被使用。

要回答您的问题,您将不得不推出自己的内联。试试这个:

(from Person p in s
select new
{
label = p.FirstName + " "
+ ((p.MiddleName != null && p.MiddleName != string.Empty) ? p.MiddleName + " " : "")
+ p.LastName,
value = p.Id
}).ToList();

关于linq - 使用 IsNullOrWhitespace 检查从 IQueryable 中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13813008/

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