I have a query which used to work fine in Entity Framework but when we migrated to EF Core 6.0 it crashes due to unsupported client evaluation, I think it's something with contains inside Any () but I am not sure exactly. Below is query:
var fixedAnnuityQuotes = (from quo in context.FixedAnnuityQuoteHistories
where quo.OrganizationId == organizationID
select new { quo });
if (!string.IsNullOrEmpty(globalSearch))
{
fixedAnnuityQuotes = fixedAnnuityQuotes.Where(x => new []
{
x.quo.ContactId!=null? x.quo.Contact.FirstName.ToLower() + " " + (x.quo.Contact.MiddleName!=null? x.quo.Contact.MiddleName.ToLower():"") + " " + x.quo.Contact.LastName.ToLower():
x.quo.AssignedToUserId!=null? x.quo.AssignedToUser.FirstName.ToLower() + " " + (x.quo.AssignedToUser.MiddleName!=null? x.quo.AssignedToUser.MiddleName.ToLower():"") + " " + x.quo.AssignedToUser.LastName.ToLower():"",
x.quo.JointContactId!=null? x.quo.JointContact.FirstName.ToLower() + " " + (x.quo.JointContact.MiddleName!=null? x.quo.JointContact.MiddleName.ToLower():"") + " " + x.quo.JointContact.LastName.ToLower():
x.quo.JointAssignedToUserId!=null? x.quo.JointAssignedToUser.FirstName.ToLower() + " " + (x.quo.JointAssignedToUser.MiddleName!=null? x.quo.JointAssignedToUser.MiddleName.ToLower():"") + " " + x.quo.JointAssignedToUser.LastName.ToLower():"",
}.Any(s => s.Contains(globalSearch.ToLower())));
}
int totalRecords = fixedAnnuityQuotes.Count();
In above line to get count crash happens. Any ideas or suggestions will be appreciated.