0

我正在使用 LINQ to SQL 在数据库中查找名称与字符串变量匹配的记录。此变量的值来自 URL,并且出于 SEO 目的将任何空格替换为破折号:mysite.com/what-i-need-to-find

用空格替换破折号来进行查找很容易,但是如果我要查找的记录名称中实际上有破折号怎么办?

例如,我要查找的记录名为“John to-do list”,而我正在使用值“John-to-do-list”

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

有没有办法使用通配符或其他方法找回这个项目?

4

2 回答 2

1

我会尝试这样的事情。var Item = Items.List().FirstOrDefault(i => i.Name.Like("%John%to%do%list%"));

于 2013-09-30T21:25:44.730 回答
0

我建议您避免将空格更改为 URL 中合法的字符。例如,我解决这个问题的方法是在我的数据库中有一个别名。

你有一个笔记的标题,你想在 url 中显示它。标题是“我今天的待办事项”,并存储在数据库的列中。然后我会添加第二列,以存储我想在 url 中显示的任何内容(也可以索引这个)。例如“my-to-do-list-for-today”,您只需在创建项目时解析一次。

于 2013-09-30T21:27:33.920 回答