如何在asp.net linq中根据日期范围从数据库中获取记录

如何在asp.net linq中根据日期范围从数据库中获取记录,asp.net,linq-to-sql,c#-4.0,Asp.net,Linq To Sql,C# 4.0,我已经开发了一个小型的web应用程序,我正在使用实体框架。我想根据日期范围获取记录,并在gridview中绑定该数据。我如何使用linq编写查询。请帮助我。我在这里发布了我的代码,我试图获取记录。请 var query = from p in entity.Payments join D in entity.Debit_Method on p.Debit_Method_ID equals D.Debit_Method_ID

我已经开发了一个小型的web应用程序,我正在使用实体框架。我想根据日期范围获取记录,并在gridview中绑定该数据。我如何使用linq编写查询。请帮助我。我在这里发布了我的代码,我试图获取记录。请

       var query = from p in entity.Payments
                    join D in entity.Debit_Method on p.Debit_Method_ID equals D.Debit_Method_ID
                    join pt in entity.Payment_Type on p.Payment_Type_ID equals pt.Payment_Type_ID
                    where p.Client_Pmt_Date >='1998-12-01' && p.Client_Pmt_Date<='1999-08-01' && p.Loan_ID=loanid
                    select new
                    {
                        p.Pmt_ID,
                        p.Loan_ID,
                        p.Client_Pmt_Date,
                        p.MtgSvr_Pmt_Start_Date2,
                        D.Debit_Method_Desc,
                        p.Total_Debit_Amt,
                        p.CreditAmt,
                        p.LenderAmt,
                        pt.Payment_Type_Desc,
                        p.Return_Code,
                        p.Returned_Date
                        //p.Pmt_ID,
                        // D.Debit_Method_Desc,
                        // pt.Payment_Type_Desc,
                        // p.Client_Pmt_Date,
                        // p.MtgSvr_Pmt_Start_Date2,
                        // p.Amt,
                        // p.CreditAmt,
                        // p.Loan_ID,
                        // p.Pmt_Comments

                        // p.Loan_ID,
                    };
        grdPayments.DataSource = query.ToList();
        grdPayments.DataBind();

    }
var query=来自实体中的p。付款
在p上的entity.Debit\u方法中加入D。Debit\u方法\u ID等于D.Debit\u方法\u ID
将pt加入p.Payment\U Type上的实体.Payment\U Type\U ID等于pt.Payment\U Type\U ID

当p.Client\u Pmt\u Date>='1998-12-01'&&p.Client\u Pmt\u Date时,需要将日期与日期时间对象(而不是字符串)进行比较。下面是一个使用POCO(普通旧CLR对象)的LINQ示例:

var dates=new List{new DateTime(2011,1,1),new DateTime(2010,1,1),new DateTime(2009,1,1)};
var result1=从x开始,在xnew DateTime(2009,1,1)的日期中选择x;
var result2=日期,其中(x=>x<新日期时间(2011,1,1)和&x>新日期时间(2009,1,1));

您好,谢谢您的回复..我想使用联接获取记录,那么,我如何编写查询?您能帮助我吗?您需要将>='1998-12-01'替换为>=新日期时间(1998,12,1)我尝试使用替换新日期时间(1998,12,1)编写代码,但此处和(&&&&)不被接受。。。。
var dates = new List<DateTime> { new DateTime(2011, 1, 1), new DateTime(2010, 1, 1), new DateTime(2009, 1, 1) };
var result1 = from x in dates where x < new DateTime(2011, 1, 1) && x > new DateTime(2009,1,1) select x;
var result2 = dates.Where(x => x < new DateTime(2011, 1, 1) && x > new DateTime(2009,1,1));