ItemNewsRelations[] cxItemNewsR = db.ItemNewsRelations.Where(cxINR => cxINR.Item_Id == IDDL && cxINR.News.Title == CXNewsTextBox.Text).ToArray();  //这一句为按时间查询CXNewsTextBox.Text中输入的为时间IddL为对应的栏目 你这个是什么意思?cxINR.News.Title是DateTime类型吗?
如果是日期类型改成ItemNewsRelations[] cxItemNewsR = db.ItemNewsRelations.Where(cxINR => cxINR.Item_Id == IDDL && Convert.ToDateTime(cxINR.News.Title.ToShortDateString()) == Convert.ToDateTime(CXNewsTextBox.Text)).ToArray();  

解决方案 »

  1.   

    不好意思,上面有点写错了
    if (r) 
            { 
                result = DateTime.Parse(CXNewsTextBox.Text).Date ; 
                ItemNewsRelations[] cxItemNR = db.ItemNewsRelations.Where(cxIN => cxIN.Item_Id == IDDL).ToArray(); 
                if (cxItemNR.Length != 0) 
                { 
                    LinqDataSource1.Where = "Item_Id ==" + cxItemNR[0].Item_Id.ToString() + "&& News.PublishDate.ToString().CompareTo(" + result.ToString() + ")>=0"; 
                    Label1.Visible = false; 
    中的result.ToString() 为按时间类型的变量,我这里是在一个对话框里,他可以输新闻标题,也可以输入日期,通过
    r=DateTime.TryParse(CXNewsTextBox.Text, out result); 
            if (r) 
    判断是否是日期,如果是日期就按日期查询,如果不是,则按新闻标题查询,但是现在就是在时间查询时,LINQ好像不支持COMPARETO()但是MSDN中说LINQ支持COMPARETO()所以有疑问~