如何在实体框架中查询字符串列包含数字的所有实体?
e.g。
"100 Main Street" // match
"Will advise" // no match
我真的不想这样做:
myclass.Property.Contains("0")
|| myclass.Property.Contains("1")
|| myclass.Property.Contains("2")
|| myclass.Property.Contains("3")
|| myclass.Property.Contains("4")
|| myclass.Property.Contains("5")
|| myclass.Property.Contains("6")
|| myclass.Property.Contains("7")
|| myclass.Property.Contains("8")
|| myclass.Property.Contains("9")
答案 0 :(得分:3)
您可以尝试在数字数组上使用Contains方法:
var digits = Enumerable.Range(0, 10).Select(s=>s.ToString()).ToArray();
var result = YOURCONTEXT.YOUR_TABLE
.Where(n => digits.Any(d =>
n.YOUR_FIELD.Contains(d)))
.ToList();
答案 1 :(得分:2)
您可以使用SqlFunctions.PatIndex检查该列是否包含数字:
where SqlFunctions.PatIndex("%[0-9]%", myClass.Property) != 0