Tenho uma classe que faz paginação para mim. Esta classe é genérica e tem retono também genérico.
public class ListaPaginada<TFonteDados, TSaida> : IListaPaginada<TFonteDados, TSaida>
Onde TFonteDados é o tipo da entidade que será feita a query. E TSaida é o tipo que será selecionado.
Este é o delegate na classe de paginação...
public Converter<TFonteDados, TSaida> MetodoConversao{get; private set;}
E este é um exemplo de método para conversão
public class DadosVisualizacaoBanco : DadosVisualizacao
{
public string Descricao { get; set; }
public int Codigo { get; set; }
public static DadosVisualizacaoBanco CriarDadoVisualizacaoAPartirDeEntidade(Banco item)
{
DadosVisualizacaoBanco retorno = new DadosVisualizacaoBanco();
retorno.Id = item.Id;
retorno.Descricao = item.Descricao;
retorno.Codigo = item.Codigo ;
return retorno;
}
}
Este código nao tem nenhum erro de sintaxe e nem de tipagem, ele compila normalmente, mas quando chega no momento de executar da o seguinte erro:
"Não há suporte ao tipo de nó de expressão LINQ 'Invoke' em LINQ to Entities."
Há alguma maneira alternativa definir um método que seleciona apenas os campos que eu quero?
+.+