linq學習

玩過linq後真的覺得太方便了,有時小地方實在不想動整個程式碼
而且只是做些排除的動作,就不要再操server了

以下是從table選出後,將超過張貼日期的值排除掉

 var tempnewDB = _ViewNews._News_View_brGroup_Version_SELECT(_Content_Literal_BranchValues.Text, "ZH-TW").AsEnumerable()
                                  .Where(datarow => datarow.Field<datetime?>("BrNews_Over_DateTime").Value.Date >= DateTime.Now.Date);
                if (tempnewDB.Any())
                {
                    _Content_DropDownList_Image.DataSource = tempnewDB.CopyToDataTable();
                    _Content_DropDownList_Image.DataTextField = "BrNews_Title";
                    _Content_DropDownList_Image.DataValueField = "BrNews_UNID";
                }


這段就直接將選出的值用where排除

其中的datarow是匿名方法,第2句的意思是說

找出比現在時間大的值,並放回datarow這個匿名方法

而其中的<datetime?>是nullable-type的作法,就算null也沒問題

將該值的value.date 去跟現在時間比對



最後,若是取出來的var有值 tempnewDB.Any()
即進行以下的動作,若沒有就不做

留言

熱門文章