как получить записи из базы данных на основе диапазона дат в asp.net linq - PullRequest
0 голосов
/ 21 июня 2011

Я разработал небольшое веб-приложение, в котором я использую работу с фреймами сущностей. Я хочу получить записи, основанные на диапазоне дат, и связать эти данные в 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();

    }

1 Ответ

1 голос
/ 21 июня 2011

Вам нужно сравнить Date с объектом DateTime, а не со строкой.Вот пример LINQ с POCO (простые старые объекты CLR):

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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...