Es wird eine Fehlermeldung angezeigt, dass der LINQ-Ausdruck nicht übersetzt werden konnte. Schreiben Sie die Abfrage enC#

Ein Treffpunkt für C#-Programmierer
Guest
 Es wird eine Fehlermeldung angezeigt, dass der LINQ-Ausdruck nicht übersetzt werden konnte. Schreiben Sie die Abfrage en

Post by Guest »

Ich habe eine C#-Anwendung (.NET Core 4) und habe den folgenden LINQ-Ausdruck geschrieben, um eine Liste der zugewiesenen Tickets aus der Datenbankansicht abzurufen.

Code: Select all

public async Task GetAssignedTickets(ScheduleFilterDTO dTO, List BranchIdList)
{
try
{
return await context.TicketView
.Where(x => BranchIdList.Contains(x.BranchId.ToString()))
.Where(t => t.ScheduleDateTime = dTO.StartDate && t.StatusId != 1 && t.StatusId != 7)
.Select(x => new TicketSchedulerDTO
{
Id = x.Id,
CallDateTime = x.CallDateTime,
Start = x.ScheduleDateTime,
CompleteDateTime = x.CompleteDateTime,
TotalEstimate = x.TotalEstimate,
End = GetEndFromEstimate(x.ScheduleDateTime, x.TotalEstimate, dTO.WorkDayEnd),
Title = MOM.Alias.Common.DTO.TicketID + " " + x.Id,
Description = x.Reason,
Address = x.Address,
City = x.City,
StateName = x.StateName,
CountryName = x.CountryName,
WorkerId = x.WorkerId,
WorkerName = (x.WorkerId == null) ? MOM.Alias.Common.DTO.UnassignedTicket : x.WorkerName,
CategoryName = x.CategoryName,
LocationName = x.LocationName,
Equipment = x.Equipment,
StatusId = x.StatusId,
StatusName = x.StatusName,
StatusColor = x.StatusColor,
Longitude = x.Longitude,
Latitude = x.Latitude,
BranchName = x.BranchName,
CreatedBy = x.CreatedBy,
WorkComplete = x.WorkComplete,
EnteredBy = x.EnteredBy,
IsCharge = x.IsCharge,
IsDocument = x.IsDocumentExist,
DispatchAlert = x.DispatchAlert,
IsSignature = x.IsSigned,
IsReviewed = x.IsReviewed,
IsTimesheet = x.IsTimesheet,
InvoiceId = x.InvoiceId,
RecurringDate = x.RecurringDate,
OverTime = x.OverTime,
IsPayroll = x.IsPayroll,
Icon = context.TicketCategory.Where(y => y.Id == x.CategoryId).Select(y => y.Icon).FirstOrDefault(),
})
.Where(y =>
(dTO.TicketCategoryIDs == null
|| dTO.TicketCategoryIDs.Count() == 0
|| !dTO.TicketCategoryIDs.Any()
|| dTO.TicketCategoryIDs.Contains(0)
|| dTO.TicketCategoryIDs.Any(z => z == y.CategoryId)) &&
(dTO.TicketStatusIDs == null
|| dTO.TicketStatusIDs.Count() == 0
|| !dTO.TicketStatusIDs.Any()
|| dTO.TicketStatusIDs.Contains(0)
|| dTO.TicketStatusIDs.Any(z => z == y.StatusId)) &&
(dTO.WorkerIDs == null
|| dTO.WorkerIDs.Count() == 0
|| !dTO.WorkerIDs.Any()
|| dTO.WorkerIDs.Contains(0)
|| dTO.WorkerIDs.Any(z => z == y.WorkerId)) &&
(dTO.LocationIDs == null
|| dTO.LocationIDs.Count() == 0
|| !dTO.LocationIDs.Any()
|| dTO.LocationIDs.Contains(0)
|| dTO.LocationIDs.Any(z => z == y.LocationId)) &&
(dTO.DepartmentIDs == null
|| dTO.DepartmentIDs.Count() == 0
|| !dTO.DepartmentIDs.Any()
|| dTO.DepartmentIDs.Contains(0)
|| dTO.DepartmentIDs.Any(z => z == y.DepartmentId)) &&
(dTO.SupervisorID == null
|| dTO.SupervisorID.Count() == 0
|| !dTO.SupervisorID.Any()
|| dTO.SupervisorID.Contains(0)
|| dTO.SupervisorID.Intersect(dTO.WorkerIDs).Any())
).ToListAsync();
}
catch (Exception ex)
{
throw ex;
}
}
Immer wenn dieser Ausdruck ausgeführt wird, erhalte ich die folgende Fehlermeldung

Code: Select all

System.InvalidOperationException: 'The LINQ expression '__dTO_TicketCategoryIDs_4
.Any(e0 =>  (int?)(int)e0 == (int?)new TicketSchedulerDTO{
Id = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Id,
CallDateTime = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CallDateTime,
Start = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).ScheduleDateTime,
CompleteDateTime = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CompleteDateTime,
TotalEstimate = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).TotalEstimate,
End = SchedulerRepository.GetEndFromEstimate(
scheduleDateTime: StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).ScheduleDateTime,
totalEstimate: StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).TotalEstimate,
workEnd: __dTO_WorkDayEnd_3),
Title = "Ticket ID " + (object)StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Id,
Description = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Reason,
Address = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Address,
City = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).City,
StateName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).StateName,
CountryName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CountryName,
WorkerId = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).WorkerId,
WorkerName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).WorkerId == null ? "Unassigned Ticket"  : StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).WorkerName,
CategoryName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CategoryName,
LocationName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).LocationName,
Equipment = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Equipment,
StatusId = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).StatusId,
StatusName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).StatusName,
StatusColor = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).StatusColor,
Longitude = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Longitude,
Latitude = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).Latitude,
BranchName = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).BranchName,
CreatedBy = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CreatedBy,
WorkComplete = (bool?)StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).WorkComplete,
EnteredBy = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).EnteredBy,
IsCharge = (bool?)StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).IsCharge,
IsDocument = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).IsDocumentExist,
DispatchAlert = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).DispatchAlert,
IsSignature = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).IsSigned,
IsReviewed = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable:  False).IsReviewed,
IsTimesheet = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).IsTimesheet,
InvoiceId = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).InvoiceId,
RecurringDate = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).RecurringDate,
OverTime = StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).OverTime,
IsPayroll = (bool?)StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).IsPayroll,
Icon = DbSet()
.Where(t0 => (int?)(int)t0.Id == (int?)StructuralTypeShaperExpression(
StructuralType: MOM.Infrastructure.Schedule.Entities.TicketView
ValueBufferExpression: ProjectionBindingExpression: EmptyProjectionMember
IsNullable: False).CategoryId)
.Select(t0 => t0.Icon)
.FirstOrDefault()
}
.CategoryId)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to 'AsEnumerable', 'AsAsyncEnumerable', 'ToList', or 'ToListAsync'. See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.'
Ich weiß nicht, was dieses Problem verursacht, da dieselben Filter für lokale Tests einwandfrei funktionieren.
Bitte geben Sie an, wie ich dieses Problem beheben kann .

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post