c# - 在 claim 中搜索

标签 c# .net linq asp.net-core ravendb

我正在尝试根据特定声明的值过滤用户。
我使用 ASP .Net Core 3 和 RavenDB。

filteredData = data.Search(d => d.Email, model.search.value)
                   .Search(d => d.LastName, model.search.value)
                   .Search(d => d.FirstName, model.search.value)
                   .Search(d => d.Claims.FirstOrDefault(c => c.ClaimType == "Role"), model.search.value);
这不起作用。这是错误消息:
System.InvalidOperationException: 'Cannot understand how to translate d.Claims.FirstOrDefault(c => (c.ClaimType == "Role"))'
感谢您的帮助。

最佳答案

更换 SearchWhere .

filteredData = data.Search(d => d.Email, model.search.value)
                   .Search(d => d.LastName, model.search.value)
                   .Search(d => d.FirstName, model.search.value)
                   .Where(d => d.Claims.FirstOrDefault(c => c.ClaimType == "Role"));

关于c# - 在 claim 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63306123/

相关文章:

c# - 处置或终止 DispatcherTimer 对象和访问 DispatcherTimer 对象

c# - 从树中删除重复项

.net - .NET 中的多线程任务队列实现

c# - 如何在 SQL Server 连接字符串中隐藏用户 ID/密码?

c# - 检查是否已选择组合框值 - C# .net

.net - 如何在 where 子句中将 UserDefinedFunctionProvider.Invoke 与 udfs 结合使用

c# - c# 中真的需要构造函数或析构函数吗?

c# - 安全删除 ForEach 中的 DataRow

c# - 在 C# 中,从列表中的列表中删除一个元素。

c# - Linq从一个表中选择数据而不是在另一个表中