在 C# 中的 varchar 字段中返回特定数字



考虑这个调用:

results = db.Students.Where(x => x.Code == current_search);

我希望只能获得确切数字的结果。如果我搜索639它还返回其他包含639的数字,例如1639。该字段包含文本字符串,因此不能用作整型字段。

如何只返回要查找的单个数字?大概我需要某种正则表达式,但它可以插入到这里还是代码会损坏?

如何只返回正在查找的单个数字?

您可能需要重新考虑存储数据的方式。

大概我需要某种正则表达式,但可以在此处插入吗 还是代码会崩溃?

您将无法将正则表达式添加到 linq,因为它无法转换为 SQL。我在这里看到的最接近的方法是首先使用 Contains 获取过滤后的数据。

results = db.Students.Where(x => x.Code.Contains(current_search));

然后根据您的正则表达式进一步筛选结果集。

顺便说一下,x.Code == current_search 将获得完全匹配。

最新更新