В LINQ to Entities поддерживаются только конструкторы и инициализаторы без параметров при получении записей с использованием дат диапазона - PullRequest
1 голос
/ 21 июня 2011

Я разработал небольшое веб-приложение, в котором я хочу получать записи из базы данных, используя фрейм Entity, когда получаю записи, показывающие ошибку.

Only parameterless constructors and initializers are supported in LINQ to Entities. 

   public void Bindloanpayment()
    {
        int loanpaymentid = Convert.ToInt32(Session["Loanid"].ToString());
         int kr = 1998;
        int km = 05;
        int kdt = 02;

         var query = from p in mortgageentity.Payments
                        join D in mortgageentity.Debit_Method on p.Debit_Method_ID equals D.Debit_Method_ID
                        join pt in mortgageentity.Payment_Type on p.Payment_Type_ID equals pt.Payment_Type_ID
                     where (p.Client_Pmt_Date >= new DateTime(kr, km, kdt)) && (p.Client_Pmt_Date <= new DateTime(1999, 8, 1)) && (p.Loan_ID == loanpaymentid)
                        select new
                    {
                       Pmt_ID=p.Pmt_ID,
                       Loan_ID=p.Loan_ID,
                       Client_Pmt_Date=p.Client_Pmt_Date,
                       MtgSvr_Pmt_Start_Date2=p.MtgSvr_Pmt_Start_Date2,
                       Debit_Method_Desc=D.Debit_Method_Desc,
                       Total_Debit_Amt=p.Total_Debit_Amt,
                       CreditAmt=p.CreditAmt,
                       LenderAmt=p.LenderAmt,
                       Payment_Type_Desc=pt.Payment_Type_Desc,
                       Return_Code=p.Return_Code,
                       Returned_Date=p.Returned_Date

                    };
        grdPayments.DataSource = query.ToList();
        grdPayments.DataBind();

    }

Пожалуйста, помогите мне, как я могу решить эту проблему ..

1 Ответ

3 голосов
/ 21 июня 2011

Вы можете сначала попытаться создать значения DateTime:

DateTime start = new DateTime(kr, km, kdt);
DateTime end = new DateTime(1999, 8, 1);

...
// In the query
where p.Client_Pmt_Date >= start
   && p.Client_Pmt_Date <= end 
   && p.Loan_ID == loanpaymentid

Это только предположение относительно того, что идет не так, но это кажется возможным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...