我在SQL 2005數據庫上搜索具有全名列的數據庫。我希望能夠檢查該欄並根據其相關性對結果進行排序。Linq to SQL包含名稱搜索
我正在使用一個很好的訂購系統,我發現,但不幸的是不工作,因爲我想,這似乎是因爲'包含'功能不匹配。
下面的代碼:
private static int QueryOrder(string query, string name)
{
if (name == query)
return -1;
if (name.Contains(query))
return 0;
return 1;
}
現在的問題是,這並不在下列情況下工作:
數據庫全稱列數據:喬伊JoeJoe少年Shabbadoo
搜索查詢:Joey Shabbadoo
queryorder方法在'contains'上不匹配,因爲它沒有將fullname字段看作包含查詢文本。
的方式,然後我命令的結果是這樣的
peopleList = peopleList.OrderBy(p => QueryOrder(fullName, p.FullName)).ToList();
那麼,有沒有使用LINQ要做到這一點,或者我應該只是下去存儲過程的路線呢?
你可能分裂空間上的搜索查詢,並做了檢查對
\AJoey.+Shabbadoo\z
匹配兩部分? – Thewads我已經更新了一些更詳細的問題。我曾考慮拆分,但我不確定我會如何訂購結果。 –