El miembro de tipo especificado no es compatible en LINQ to Entities. Solo se admiten los inicializadores, los miembros de entidad y las propiedades de navegación de entidad

var result =
    (from bd in context.tblBasicDetails
     from pd in context.tblPersonalDetails.Where(x => x.UserId == bd.UserId).DefaultIfEmpty()
     from opd in context.tblOtherPersonalDetails.Where(x => x.UserId == bd.UserId).DefaultIfEmpty()
     select new clsProfileDate()
     {
         DOB = pd.DOB
     });

foreach (clsProfileDate prod in result)
{
    prod.dtDOB = !string.IsNullOrEmpty(prod.DOB) ? Convert.ToDateTime(prod.DOB) : DateTime.Today;
    int now = int.Parse(DateTime.Today.ToString("yyyyMMdd"));
    int dob = int.Parse(prod.dtDOB.ToString("yyyyMMdd"));
    string dif = (now - dob).ToString();
    string age = "0";
    if (dif.Length > 4)
    age = dif.Substring(0, dif.Length - 4);
    prod.Age = Convert.ToInt32(age);
}

GetFinalResult(result);
protected void GetFinalResult(IQueryable<clsProfileDate> result)
{
    int from;
    bool bfrom = Int32.TryParse(ddlAgeFrom.SelectedValue, out from);
    int to;
    bool bto = Int32.TryParse(ddlAgeTo.SelectedValue, out to);

    result = result.AsQueryable().Where(p => p.Age >= from);
}

Aquí estoy recibiendo una excepción:

El tipo de miembro especificado "Age" no se admite en LINQ to Entities. Solo se admiten los inicializadores, los miembros de entidad y las propiedades de navegación de entidad.

Donde Age no está en la base de datos, es la propiedad que creé en la clase clsProfileDate para calcular Age from DOB. ¿Alguna solución a esto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta