Well, I know you said, "Do it in Link." ASSuming, you say that you use the native .Net string and execute it using Linq for objects, then, I think, the most obvious solution is to split the text into a regular expression that works on word boundaries; and then iterate over each result matched against the input phrases.
However...
Judging by your idea for "v2", I think you should probably look at something more powerful and oriented around text search - so what about using Lucene.Net text index?
- ; , , .
.
- Linq to Sql
SQL Full-Text , : Linq To Sql CONTAINSTABLE .
, , DataContext.ExecuteQuery<TResult>. , , , .
, , , ;)