Вы могли бы применить ограничение интерфейса, но, честно говоря, я бы просто не стал этого делать, если бы вы были вами, потому что это может привести к коду, который труднее читать и поддерживать.
public interface ICommonEntity
{
string Column1 { get; }
string Column2 { get; }
}
Заставьте любой применимый тип реализовать описанный выше интерфейс
public ActionResult Result<T>(HttpContext httpContext, IQueryable<T> queryable, string[] columns = null) where T : class, ICommonEntity
{
var entity = queryable;
string searchValue = "123";
if (!string.IsNullOrEmpty(searchValue))
{
entity = entity.Where(_ => _.Column1 == searchValue || _.Column2 == searchValue);
...
}
}