проблема может заключаться в том, что ваш метод содержит в statemnt, что он не сопоставляется с оператором like в sql, и вы в конечном итоге получаете все строки в sql, а затем делаете поиск в вашем веб-уровне вместо того, чтобы делать то же самое в вашей БД.
Используйте SqlMethods для того же .. somethig следующим образом:
SqlMethods.Like(c.Postcode, string.Format("%{0}%",postcode));
иногда вы также можете использовать строковые методы, такие как: String.StartsWith или String.Ends with, но в этом вы не можете ..
Также - предложения LIKE, начинающиеся с%, редко бывают хорошей идеей - не в последнюю очередь, они не могут эффективно использовать какой-либо индекс. Вы могли бы иметь лучшую производительность, используя «полнотекстовый поиск»; но это не доступно напрямую через LINQ
надеюсь, что это поможет вашей проблеме.