簡體   English   中英

C#Linq to SQL查詢2日期之間否獲得結果

[英]C# Linq to SQL Query between 2 Dates nos getting results

我正在使用Textboxes,Comboboxes和DateTimePicker構建一個復雜的搜索查詢。

對於文本框和組合框,查詢工作正常,但是在兩個日期之間添加datetimepicker進行查詢時,我什么也沒得到...

將EF6與LINQ一起使用...

所以,我的類來存儲數據:

public class Projetos
    {
        public int ID { get; set; }
        public string Conc { get; set; } //Combobox
        public string Ent { get; set; } //Combobox
        public string Def { get; set; } //Textbox
        public DateTime DataR { get; set; }
    }

第一個查詢並返回結果:

public IEnumerable<Proj> LoadProj()
    {
        var ctx = new JEntities();
        var query = (from p in ctx.tblProjs.AsQueryable()
                     join c in ctx.tblConcs on p.ConcID equals c.ConcID
                     join e in ctx.tblEnts on p.EntID equals e.EntID
                     select new Proj
                     {
                         ID = p.ProjID,
                         Conc = c.NameConc,
                         Ent = e.NameEnt,
                         Def = p.DefP,
                         DataR = p.DataR
                     });
        // The combination of these 3 controls works fine!           
        if (TxtDefP.TextLength > 0)
        {
            query = query.Where(s => s.DefP.Contains(TxtDefP.Text));
        }
        if(CmbCon.SelectedValue != null)
        {
            string SelectedValue = CmbConc.GetItemText(CmbConc.SelectedItem);
            query = query.Where(s => s.Conc == SelectedValue);
        }
        if(CmbEnt.SelectedValue != null)
        {
            string SelectedValue = CmbEnt.GetItemText(CmbEnt.SelectedItem);
            query = query.Where(s => s.Ent == SelectedValue);
        }

        //When filtering between these 2 dates, I get no results

        if (DataRFrom.Checked && DataRTo.Checked)
        {
            DateTime begin = DataRFrom.Value.Date;
            DateTime end = DataRTo.Value.Date;
            query = query.Where(s => s.DataR > begin && s.DataR < end);
        }
        return query.ToList();
    }

在SQL中,我有這樣的日期……也許SQL中的Date格式搞砸了所有這一切???

在此處輸入圖片說明

我的問題是,為什么在此日期范圍內的記錄在數據庫中,為什么在2018-06-01和2018-06-06之間無法得到任何結果?

謝謝。

日期屬性丟失:

query = query.Where(s => s.DataR.Date> begin && s.DataR.Date <end);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM