【发布时间】:2020-03-19 09:43:35
【问题描述】:
我有以下字符串 3,9 我想在一个看起来像 follow 的数据库表中搜索它的 2 个值(3 和 9)
所以如果我的字符串只包含数字 3,我的查询应该返回所有 5 行,如果我发送数字 9,它应该只返回 2 行,如果我发送 3,9,它也应该返回所有 5 行
我在课堂上编写代码时遇到问题
var t = GetAll()
if (!string.IsNullOrEmpty(ApproversId))
{
List<string> ApproversIdL = ApproversId.Split(',').ToList();
// this is where i am having trouble
t = t.Where(s => s.AproversIds.Any(x=>x.ToString()== ApproversIdL.Any(x=>x.ToString())));
}
感谢任何帮助
【问题讨论】:
-
是EntityFramework还是EntityFrameworkCore?
-
实体框架Core
-
EF 是一个 ORM,所以真正的答案是使用关系模式,在这种情况下是多对多映射。 IE。如果这是一个 Submissions 表,其中一个提交可以有多个批准者,并且一个批准者链接到许多提交,具有一个 SubmissionApprovers 表。从此,您可以在数据库级别执行这些过滤器检查,而不是先将所有数据加载到内存中。
标签: c# asp.net asp.net-mvc entity-framework asp.net-core