Šangeet Šhah Ответов: 4

LINQ to Entities не распознает метод ' Int32 ToInt32(System.Object)' метод, и этот метод не может быть переведен в выражение хранилища.


LINQ to Entities не распознает метод ' Int32 ToInt32(System.Object)' метод, и этот метод не может быть переведен в выражение хранилища.





public List<SalaryMonthlyViewModel> getallemployeeSalary()
     {
         var data = (from a in objentity.TblSalaryMonthlies
                     join b in objentity.TblEmployeeRegistrations on a.EmployeeId equals b.EmployeeId

                     select new SalaryMonthlyViewModel
                     {
                         SalaryMonthlyId = a.SalaryMonthlyId,
                         Month = a.Month,
                         Year = a.Year,
                         NetSalary = Convert.ToInt32(a.NetSalary),
                         PresentDay = a.PresentDay,
                         UserName = b.UserName
                     }).ToList();
         return data;
     }

phil.o

Каково определение объекта SalaryMonthlyViewModel, особенно его свойства NetSalary: какой это тип?

[no name]

пространство имен LaxmiTatkal.Модель
{
публичный класс SalaryViewModel
{

public int SalaryId { get; set; }
public int Salary { get; set; }

общественного строка имя { получить; набор; }
}
}

4 Ответов

Рейтинг:
2

Sanket Saxena

Пытаясь изменить свой код, надеюсь, что это поможет. :)

public List<salarymonthlyviewmodel> getallemployeeSalary()
     {
         var data = (from a in objentity.TblSalaryMonthlies
                     join b in objentity.TblEmployeeRegistrations on a.EmployeeId equals  b.EmployeeId
 
                     select new SalaryMonthlyViewModel
                     {
                         SalaryMonthlyId = a.SalaryMonthlyId,
                         Month = a.Month,
                         Year = a.Year,
                         NetSalary = a.NetSalary,
                         PresentDay = a.PresentDay,
                         UserName = b.UserName
                     }).ToList()// now we have in-memory query
                  .Select(c => new SalaryMonthlyViewModel()
                  {
                         SalaryMonthlyId = a.SalaryMonthlyId,
                         Month = a.Month,
                         Year = a.Year,
                         NetSalary = Convert.ToInt32(a.NetSalary),//This should work
                         PresentDay = a.PresentDay,
                         UserName = b.UserName
                  });
         return data;
     }
</salarymonthlyviewmodel>


[no name]

тем не менее я получаю ошибку в строке belove

netsalary=a. netsalary

Sanket Saxena

вы что-то изменили?Выберите (c => new CourseNames () моего решения. "CourseNames ()" должно быть изменено в соответствии с вашим кодом. т. е. salarymonthlyviewmodel()

[no name]

я копирую весь код и публикую его в своем проекте, но все равно получаю свою ошибку в этом месте

Sanket Saxena

я обновляю решение, повторяю попытку и сообщаю мне об ошибке, если таковая имеется.

Рейтинг:
2

Raul Iloc

Вы должны создать в своем классе SalaryMonthlyViewModel свойство типа string с именем NetSalaryString и используйте это свойство в своем выражении LINQ выше вместо NetSalary.

Новое свойство будет делать соглашение с int как в следующем коде:

public class SalaryMonthlyViewModel <br />
{<br />
//...<br />
private _netSallaryString;<br />
public NetSalaryString<br />
{<br />
   get{ return _netSallaryString;}<br />
   set{<br />
      _netSallaryString = value;<br />
       this.NetSalary = Convert.ToInt32(value);<br />
   }<br />
}<br />
//...<br />
}


[no name]

я получаю ошибку в строке УР

Рейтинг:
2

Pinaki Mukherjee IT

Просто оставайтесь с запросом Linq. Вам нужно изменить линию удара

NetSalary = Convert.ToInt32(a.NetSalary),

к
NetSalary = int.Parse(a.NetSalary),

Это изменение может помочь вам


Рейтинг:
1

gagandeep.pratihar

Я думаю, что ur NetSalary в таблице не имеет целочисленного типа, поэтому ur получает эту ошибку


[no name]

SalaryMonthlyId инт снят
EmployeeId int Unchecked
NetSalary int проверено
Месяц инт снят
Год инт снят
Современного инт снят
Метод isactive бит снят
IsDelete бит Unchecked
CreatedDate datetime Unchecked
ModifyDate datetime проверено