2017-08-14 28 views
0

考慮這一呼籲:返回特定數量在C#中varchar字段

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

我希望能夠得到的結果只對確切的數字。如果我搜索639也返回包含639,例如1639其他號碼。該字段包含文本字符串,因此它不能用作整數字段。

我怎樣才能返回只是被看爲單數?據推測我需要某種正則表達式,但是可以在這裏插入還是代碼中斷?

+7

這將只給出匹配的值,而不像您所解釋的那樣 – Sajeetharan

+0

您能否提供一些示例代碼? – Harsh

+2

這不是'如何''工作。這隻會返回完全匹配。 – stybl

回答

1

我怎樣才能返回只是被看爲單數?

可能您需要重新考慮您存儲數據的方式。

大概我需要某種正則表達式,但可以在這裏插入 還是會代碼中斷?

您將無法將正則表達式添加到linq中,因爲它無法轉換爲SQL。我在這裏看到的最接近的方法是首先使用Contains獲取過濾的數據。

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

然後根據您的正則表達式進一步篩選結果集。

順便說x.Code == current_search將得到精確匹配。

+0

我將如何進一步過濾結果集?這正是我努力解決的問題。 – kamil1995b

+1

編寫你的正則表達式來找到你想要的完全匹配,然後在ressultset上應用它。 – Harsh

相關問題