国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

個泛型的小例子 Linq查詢解決Combox綁定問題

2019-11-17 03:52:52
字體:
來源:轉載
供稿:網友
自己寫的皮膚為了好看只取了Text沒有Value,現在用這個方法解決一下只有Text取Value值不方便的方式
你只要有一個查詢這個表中所有數據的方法就可以了當然也可以只返回這兩列

代碼
/// <summary>
        /// 根據欄目欄目名稱獲取索引
        /// </summary>
        /// <param name="fiId">欄目名稱</param>
        /// <returns>欄目索引</returns>
        PRivate string GetFunctionNameByName(string Name)
        {
            var result = this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();
            return result["fiId"].ToString();
        }


GetFunctionInfo是一個查詢表中所有信息的方法

/// <summary>
        /// 根據欄目索引獲取欄目名稱
        /// </summary>
        /// <param name="fiId">欄目索引</param>
        /// <returns>欄目名稱</returns>
        private string GetFunctionNameById(int fiId)
        {
            var result = this._fiTable.AsEnumerable().Where(fi => Convert.ToInt32(fi["fiId"]) == fiId).FirstOrDefault();
            return result["fiName"].ToString();
        }

兩個方法是對應的,感覺這樣查詢方便不少,直接在前臺就可以完成,跟數據庫連接的時候只要一個查詢所有的方法就可以了

來解釋一下這一步吧

this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();

this.objWSM.GetFunctionInfo()是一個查詢所有的方法

AsEnumerable().Where()反回的是一個泛型的行,可以用LinQ表達式查詢

f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim())Linq表達式

F1是新生成的一個行的名稱

f1["fiName"].當然就是這個行里的列名了,=>后面是條件前面是集合

f1["fiName"].ToString().Trim() == Name.ToString().Trim()就表達在這個行里有這兩個值相等的,就取出來

FirstOrDefault();表示取第一行的意思

到這里問題差不多都解決了,只要一個查詢這兩列的方法,在前臺寫上這樣兩個方法,每次調用就OK了,不用專門的寫兩個訪問數據庫的方法,感覺還是很方便的。





發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石泉县| 正镶白旗| 江阴市| 乌鲁木齐县| 阿鲁科尔沁旗| 神农架林区| 新安县| 疏勒县| 乐昌市| 布尔津县| 商河县| 西贡区| 辛集市| 万安县| 于都县| 永春县| 扎赉特旗| 商洛市| 盖州市| 兴隆县| 米易县| 合山市| 崇仁县| 托克托县| 金沙县| 桦甸市| 驻马店市| 许昌县| 嘉鱼县| 红河县| 宜川县| 会宁县| 南平市| 鹰潭市| 阿勒泰市| 赤壁市| 武鸣县| 玛纳斯县| 瑞安市| 永新县| 榆树市|