2013-09-30 58 views
0

我正在使用LINQ to SQL在數據庫中查找名稱與字符串變量匹配的記錄。這個變量的值來自URL,並且任何空間都被替換成SEO用途的破折號:mysite.com/what-i-need-to-findLINQ to SQL匹配使用可能的通配符

很容易用空格替換破折號來執行查找,但如果我正在尋找的唱片名稱實際上有一個破折號?

例如,我在尋找被命名爲「約翰·待辦事項清單」,我用值「約翰 - 待辦事項列表」

var Item = Items.List().FirstOrDefault(i => i.Name == "John to do list"); //obviously doesn't get what I need 

工作記錄是否有任何如何使用通配符或其他方法找回這個項目?

回答

1

我會嘗試這樣的事情。 var Item = Items.List().FirstOrDefault(i => i.Name.Like("%John%to%do%list%"));

0

我建議您避免將空格更改爲在您的URL中合法的字符。例如,我會解決這個問題的方法是在我的數據庫中有一個別名。

你有一個筆記的標題,並且你想要在url中顯示它。標題是「我今天的待辦事項」,並存儲在數據庫的一列中。然後,我會添加第二列,以存儲任何我想要顯示在URL中(也可以索引此)。例如「今天我的待辦事項列表」,您只需在創建該項目時解析一次即可。