第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

不同欄目的搜索方法

不同欄目的搜索方法

C#
江戶川亂折騰 2023-06-25 13:29:08
我有Form和ComboBox。TextBox第一個(gè)包含列名稱,第二個(gè)包含要搜索的文本。作為來源,ComboBox取自元素。該方法在按下按鈕的過程中被調(diào)用。ListTypeSearchItemSearchSearch()Search如果給該列一個(gè)這樣的名稱,則什么也找不到EF.Functions.Like(item.Value, ...); // Value = "FullName"如果指定模型中的列,則搜索有效EF.Functions.Like(w.FullName, ...); 是否可以在同一方法中替換應(yīng)搜索的列Search()?ListTypeSearch.Add(new ItemSearch { Value = "FullName", Display = "some text" });ListTypeSearch.Add(new ItemSearch { Value = "PassportSeries", Display = "some text" });ListTypeSearch.Add(new ItemSearch { Value = "PassportNumber", Display = "some text" });public class ItemSearch{    public string Value { get; set; }    public string Display { get; set; }}internal List<WorkerTableRow> Search(ItemSearch item, string text){    try    {        Found = new List<WorkerTableRow>();        using (ModelContext model = new ModelContext())        {            Found = (from w in model.Workers                     where EF.Functions.Like(w.FullName, // this code                                             String.Format("%{0}%", text))                     select new WorkerTableRow                     {                         ...                     })                     .ToList();        }    }    catch (Exception ex) { ... }    return Found;}更新現(xiàn)在我確實(shí)喜歡這樣了。其作品。這可以簡(jiǎn)化嗎?where EF.Functions.Like(w.GetProperty(item.Value),                         String.Format("%{0}%", text))public partial class Workers{    ...    public string FullName { get; set; }    public string PassportSeries { get; set; }    public string PassportNumber { get; set; }    public string GetProperty(string name)    {        switch (name)        {            case "FullName":                return FullName;            case "PassportSeries":                return PassportSeries;            case "PassportNumber":                return PassportNumber;            default:                return string.Empty;        }    }}
查看完整描述

1 回答

?
GCT1015

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();

? ? }

}


查看完整回答
反對(duì) 回復(fù) 2023-06-25
  • 1 回答
  • 0 關(guān)注
  • 159 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)