I had a similar problem
IQueryable<Street> query = db.Streets.AsQueryable(); query = query.Where(street => street.Name.ToLower().StartsWith(keyword)) .Take(10) .OrderBy(street => street.Name); var list = query.Select(street => new { street.StreetId, Name = street.Name + " " + street.Suburb.Name + " " + street.Suburb.State.Name + " " + street.Suburb.Postcode });
street.Suburb.Postcode throws 'can not convert non primative type error' as its int? After the next shuggy link, I fixed it by adding .AsEnumerable to force an int? β conversion of strings "client side", i.e. LINQ to Objects. those.
var list = query.AsEnumerable().Select(street => new { street.StreetId, Name = street.Name + " " + street.Suburb.Name + " " + street.Suburb.State.Name + " " + street.Suburb.Postcode });
jboy Jan 21 2018-10-21T00: 00-01
source share