title: How to create the function using Expression linq
body: <p>I have the following class</p>
  
  <pre><code>public class ProdutoTipo : IAuditable
  {
      public Guid ID { get; set; }
  
      public string Nome { get; set; }
      public string MiniNome { get; set; }
      public string Descricao { get; set; }
      public string Link { get; set; }
      public int? Ordem { get; set; }
  
      public virtual Foto ImagemExibicao { get; set; }
      public virtual ICollection&lt;ProdutoCategoria&gt; Categorias { get; set; }
  
      public DateTime CreatedAt { get; set; }
      public string CreatedBy { get; set; }
      public DateTime? UpdatedAt { get; set; }
      public string UpdatedBy { get; set; }
  
      public bool PaginaInicial { get; set; }
  
      public ProdutoTipo() { ID = Guid.NewGuid(); }
  }
  </code></pre>
  
  <p>I need a function that search the repository and returns true or false<br>
  <strong>But this search can be using any field of the class!</strong></p>
  
  <h2>As far as I arrived</h2>
  
  <pre><code>public bool Existe&lt;TProperty, TComparer&gt;(Expression&lt;Func&lt;ProdutoTipo, TProperty&gt;&gt; entityExpression, TComparer valor)
  {
      return Repository.ProdutoTipos.Any(p =&gt; /*entityExpression == valor ?????*/);
  }
  </code></pre>
  
  <p><strong>Would like to use the function like this ...</strong>  </p>
  
  <pre><code>Existe(p =&gt; p.Nome, "Value to comparer!");
  </code></pre>
  
  <p>Thank you all!</p>