Linq-to-SQLクエリのcontainsを逆にすると、リストの単語が含まれているかどうTitle
かを確認したり、次のように含めることができます。Description
var query = context.Shapes.Where(x => x.Title.Contains(words));
これが私が今持っているものですが、それは私が必要としているものとは反対です。
List<string> words = Search.GetTags(q);
//words = round,circle,square
using(ShapesDataContext context = new ShapesDataContext())
{
var query = context.Shapes.Where(x => words.Contains(x.Title) ||
words.Contains(x.Description));
}
// Item 1: Title = Elipse , Decsription = This is not round circle
//This should be a match! but words doesn't contain
//"This is not round circle", only round and circle so no match
アップデート
今私が持っています
var query = context.Shapes.Where(x => words.Any(w => x.Title.Contains(w) || x.Description.Contains(w)))
int s = query.Count();
int s = query.Count();
しかし、「Contains演算子を除いて、クエリ演算子のLINQtoSQL実装ではローカルシーケンスを使用できません」というメッセージで例外が発生します。誰かがそれを解決する方法を知っていますか?