Frontendの検索フィールドから検索文字列を取得しました。私はそれが一致のためのビューで検索します。これまでのところ極端にうまく動作します。今度はfirstname
、lastname
、City
、Zip
、Street
のような複数のフィールドを組み合わせて検索する時間ですが、その順序は同じではありません。 注文がすべて同じでない場合は、複数の列のビューでどのように検索できますか?私の現在のcodesnippedこの複数の列でのC#検索
public object SearchCustomer(SearchString st)
{
DateTime dayOfBirth;
DateTime.TryParse(st.Content, out dayOfBirth);
var filteredQuery =
from pr in ctx.AllCustomerProcesses
where
pr.BirthDate1 == dayOfBirth
|| pr.BirthDate2 == dayOfBirth
|| pr.FirstName1.Contains(st.Content)
|| pr.LastName1.Contains(st.Content)
|| pr.FirstName2.Contains(st.Content)
|| pr.LastName2.Contains(st.Content)
|| pr.ProcessStatusDescription.Contains(st.Content)
|| (pr.LastName1 + " " + pr.FirstName1).Contains(st.Content)
|| (pr.FirstName1 + " " + pr.LastName1).Contains(st.Content)
|| (pr.LastName2 + " " + pr.FirstName2).Contains(st.Content)
|| (pr.FirstName2 + " " + pr.LastName2).Contains(st.Content)
orderby pr.CustomerID descending
select pr;
}
のように見えます
ん5つの属性を検索するための最良とパフォーマンスが最適化された方法は何ですか? (FirstName1
,LastName1
,Street
,Zip
,City
)。注文が常に同じではない場合や、いくつかの属性が指定されていない場合でも、結果は一致する必要があります。
はそれをしない '(pr.LastName1 + "" + pr.FirstName1).Contains(st.Contentは)'全く理にかなっていますか? "onald Trum"を探すことがたくさんありますか? – ASpirin
@MBurnhamの回答に満足していますか?そうでない場合は、コメントを残して、私はLinqと答えを投稿します:)そして、そうでない場合:あなたの基準に戻り値の型として一致するオブジェクトが必要ですか、または基準が一致するかどうかを知りたいだけですか? – Joshit