【发布时间】:2021-05-14 06:13:59
【问题描述】:
我有一个项目的类/实体。
实体示例:
public class Project
{
public int Id { get; set; }
public string? ProjectId { get; set; }
public string Name { get; set; }
}
在 Blazor 文件中,我有以下代码。 projList 从我的存储库中获取数据, filterList = projList 有效
@code {
private IEnumerable<Project> projList { get; set; } = new List<Project>();
private List<Project> filterList { get; set; } = new List<Project>();
public string projFilter { get; set; } = string.Empty;
..
private async Task ApplyProjFilter()
{
..
filterList = projList.Where(p => p.ProjectId.Contains(projFilter)).ToList();
..
}
我在使用 .Contains 的上述指令中遇到错误。 我可以使用
(p => p.ProjectId == projFilter).ToList()
但是当用户在文本框中编写过滤器并显示包含该输入字符串的项目时,我想在运行时过滤我的列表。
.Contains 如果我在从服务器读取数据时在我的存储库中使用它,但我不会在运行时使用它,因为它会给 SQL 服务器带来很多问题。
有什么问题吗?
我正在使用最新的 netcore 和 efcore 以及 Visual Studio 2019。
【问题讨论】:
-
所以您想显示
ProjectId字符串包含子字符串projFilter的任何项目?还是开始?