我使用Ria Service domainservice進行數據查詢。Linq包含功能問題
在我的數據庫中,有一個人名爲firstname,lastname的人。然後我使用EF/RIA服務進行數據處理。
然後我創建一個Filter ViewModel來捕獲用戶輸入,根據它的輸入,我構建一個linq查詢來訪問數據。
在服務器端,默認的DomainService查詢人:
public IQueryable<Person> GetPerson()
{
return this.Context.Person;
}
在客戶端,用於過濾LINQ查詢是一樣的東西(我在這裏使用包含功能):
if (!String.IsNullOrEmpty(this.LastName))
q = q.Where(p => (p.LastName.Contains(this.LastName)));
生成的LINQ查詢是類似的(當調試,我知道了):
MyData.Person[].Where(p => (p.LastName.Contains(value(MyViewModel.PersonFilterVM).LastName) || p.Person.LegalLastName.Contains(value(MyViewModel.PersonFilterVM).LastName)))
當我運行t他的應用程序,我把「史密斯」用於搜索的姓氏,但結果與「史密斯」完全無關!
如何解決?