1

ユーザーがコンマで区切られた複数の都市を入力できる検索ページがあり、都市が検索条件に入力されたものであるすべての不動産プロパティを取得する必要があります。たとえば、ユーザーは次のように入力します

都市=ダラス、オースティン

ユーザーが完全な都市名を入力すると、私が持っているクエリは正常に機能します

var cityList = new List {"Dallas"、 "Austin"}; var property = Reporsitory.AsQueryable .Where(x => cityList.Contains(x.City)).ToList();

ただし、Dal、Ausに入るだけでは、機能しません。これらの部分検索を機能させるにはどうすればよいですか。Dynamic LINQが唯一の答えですか?ありがとう!

4

3 に答える 3

0

これを試して

var cityList = new List{"Dallas", "Austin"}; 
var properties = Reporsitory.AsQueryable 
.Where(x=> cityList.Contains(y => x.City.Contains(y)).ToList();

文字列内を検索してみてください、うまくいくといいのですが

于 2011-04-20T13:43:02.070 に答える
0

nHibernateについて具体的にはわかりませんが、LinqtoSQLはこれをサポートしています。

.Where(x=> x.StartsWith("Dal"))
于 2011-04-20T13:43:37.717 に答える
0
var properties = Reporsitory.AsQueryable().Where(x => cityList.Count(c => x.StartsWith(c)) != 0);

または、StartWith を Containers に置き換えます...

于 2011-04-20T13:46:41.057 に答える