1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果使用Like(w.GetProperty(item.Value), ...)
,則請(qǐng)求在客戶端上執(zhí)行,而不是在服務(wù)器上執(zhí)行。要將整個(gè)請(qǐng)求發(fā)送到服務(wù)器,您可以執(zhí)行以下操作:
List<WorkerTableRow> Search(ItemSearch item, string text)
{
? ? string pattern = string.Format("%{0}%", text);
? ? using (var model = new ModelContext())
? ? {
? ? ? ? IQueryable<Worker> query = model.Workers;
? ? ? ? if (item.Value == "FullName")
? ? ? ? ? ? query = query.Where(w => EF.Functions.Like(w.FullName, pattern));
? ? ? ? if (item.Value == "PassportSeries")
? ? ? ? ? ? query = query.Where(w => EF.Functions.Like(w.PassportSeries, pattern));
? ? ? ? if (item.Value == "PassportNumber")
? ? ? ? ? ? query = query.Where(w => EF.Functions.Like(w.PassportNumber, pattern));
? ? ? ? return query.Select(w => new WorkerTableRow { ... }).ToList();
? ? }
}
- 1 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報(bào)