2
我有一個使用Prism實踐的Silverlight應用程序;當前的代碼通過名字或姓氏或性別進行搜索。管理名稱,我想將代碼更改爲3個字符,因爲現在只要找到一個字符就會搜索名稱,這樣您就可以看到問題了,我可以在這裏調整代碼以僅選擇那些3個字符匹配?讓我們留下小於3的名字的問題,但是我們可以允許那裏的任何東西。在Silverlight c#中用於名稱識別的搜索
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace PBM.Web.Classes
{
public class Search
{
public static IQueryable<Patient> GetSearchQueryPatient(IQueryable<Patient> pSearchQuery, Patient pPatient)
{
if (!string.IsNullOrEmpty(pPatient.FirstName))
{
pSearchQuery = pSearchQuery.Where(item => item.FirstName.Contains(pPatient.FirstName));
}
if (!string.IsNullOrEmpty(pPatient.LastName))
{
pSearchQuery = pSearchQuery.Where(item => item.LastName.Contains(pPatient.LastName));
}
if (pPatient.Gender.HasValue && pPatient.Gender.Value > 0)
{
pSearchQuery = pSearchQuery.Where(item => item.Gender.Value == pPatient.Gender.Value);
}
pSearchQuery = pSearchQuery.OrderBy(item => item.FirstName).ThenBy(item => item.LastName);
return pSearchQuery;
}
}
}
那會是一個問題呢。除非我們可以說,如果姓氏已超過2,則搜索3。否則,執行舊搜索。 – 2012-02-15 20:57:39
@PinchasK - 這會工作。我會更新答案 – ChrisF 2012-02-15 20:58:42