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 に表示したいとします。タイトルは「今日の私のやることリスト」で、データベースの列に格納されています。次に、2 番目の列を追加して、URL に表示したいものをすべて格納します (これをインデックス化することもできます)。たとえば、「my-to-do-list-for-today」の場合、アイテムを作成するときに一度だけ解析する必要があります。

于 2013-09-30T21:27:33.920 に答える