探尋linq多條件查詢(xún)
linq多條件查詢(xún)?nèi)绾螌?shí)現(xiàn)呢,以及實(shí)現(xiàn)過(guò)程中遇到的問(wèn)題如何解決呢?本文就來(lái)給你一個(gè)答案。
linq多條件查詢(xún),當(dāng)條件為NUll時(shí)不做查詢(xún),只有條件有值時(shí)才作為查詢(xún)條件查詢(xún)。下面我們就給大家進(jìn)行一下分析。
時(shí)間 AddTime
名稱(chēng) Name
- //添加時(shí)間開(kāi)始
- string strAddTimeStart = txtAddTimeStart.Text;
- DateTime AddTimeStart = SqlDateTime.MinValue.Value;
- if (!string.IsNullOrEmpty(strAddTimeStart))
- {
- AddTimeStart = Convert.ToDateTime(strAddTimeStart );
- }
- //添加時(shí)間結(jié)束
- string strAddTimeEnd = txtAddTimeEnd.Text;
- DateTime AddTimeEnd = SqlDateTime.MaxValue.Value;
- if (!string.IsNullOrEmpty(strAddTimeEnd))
- {
- AddTimeEnd = Convert.ToDateTime(strAddTimeEnd);
- }
- var resultsql = from w in students
- where
- (!string.IsNullOrEmpty(strAddTimeStart) ? AddTimeStart >=
- w.addTime : true) &&
- (!string.IsNullOrEmpty(strAddTimeEnd) ? AddTimeEnd >=
- w.addTime : true) &&
- (!string.IsNullOrEmpty(OCState) ? w.Name.Equals(Name) : true)
- select new
- {w.name,
- w.sex
- };
linq多條件查詢(xún)需要注意的是,下面這樣是不對(duì)的,會(huì)報(bào)無(wú)法識(shí)別的DateTime。
- (!string.IsNullOrEmpty(strAddTimeStart) ?
- Convert.ToDateTime(AddTimeStart) >= w.addTime : true)
所以時(shí)間必須在外邊轉(zhuǎn)換。
以上就是對(duì)linq多條件查詢(xún)的簡(jiǎn)單介紹。
【編輯推薦】