Pessoal,
algo muito sem explicação aconteceu comigo, eu resolvi de uma maneira, mas acho q deveria ter uma outra resposta e por isto vou postar aqui, se alguém souber, caso não já aproveitem o q eu fiz para resolver.
Seguinte;
Construi um WWF customizado para rodar no crm 2011, eu faço a integração de registros da conta para um sistema ERP, e isto é baseado sobre um arquivo q eu gero, onde contém os registro separados por | .
acontece que eu fiz de uma maneira para q o usuário selecionasse a ordem que ele quiser destes registros, por exemplo
Colun1,Coluna3,Coluna2...
ou
Coluna2,Coluna3,Coluna1...
em fim, ele irá decidir.
E também tem a ordenação para o nome do arquivo, ele seleciona quais campos irão compor o nome do arquivo e a ordem também... muito bem vamos ao código q interessa:
esta pesquisa abaixo retorna este objeto lstMapeamento porém ordenado apenas por ordem para o nome do arquivo, que é um campo inteiro...
List<Entidade.IntegracaoMapeamento> lstMapeamento = (from m in serviceContexto.ctm_integraomapeamentoSet
where m.ctm_name == nomeEntidade
&& m.statecode.Value == ctm_integraomapeamentoState.Active
orderby m.ctm_ordemparanomedearquivo
select new Entidade.IntegracaoMapeamento
{
//aqui vem os campos
/
}).ToList();
com este objeto eu o reaproveito, já q ele tem todo conteúdo que preciso, e nos outros métodos que criam o cabeçalho e corpo do arquivo
eu reordeno a lista para o campo, inclusive tentei destas 3 maneiras abaixo:
lstCamposMapeamento.OrderBy(x => x.OrdemCampoNoRegistro);
lstCamposMapeamento = lstCamposMapeamento.OrderBy(x => x.OrdemCampoNoRegistro).ToList();
lstCamposMapeamento.Sort((x, y) => x.OrdemCampoNoRegistro.CompareTo(y.OrdemCampoNoRegistro));
e também tentei criando um outro objeto do mesmo tipo e atribuindo o valor destas sort/orderby
muito bem, depurando funcionava, eu alterava os valores da entidade q contém estes parametros para ordernar e funciona, mudava de novo e funcionava novamente, porém qdo colocava em ambiente para rodar pelo crm não rolava...
vai entender, alguém tem idéia o por que???
para solucionar, eu tive que fazer a consulta as 3 vezes através da classe proxy q é gerada para o early bound...
e ai rolou para os 3 casos.