Lá vão algumas descobertas com relação aos table adapters, uma novidade do ADO.NET 2.0 que permite utilizar adapters fortemente tipados:
- Ao criar queries em table adapters, percebi que sempre era necessário retornar sempre todas as colunas da query. Quando isso não era feito, era lançada uma exceção de integridade do banco. Vi isso em algum fórum, mas não encontrei uma explicação lógica.
- O Query Builder do Visual Studio pelo jeito não permite que se utilize a construção “in” do SQL.
- Ao fazer qualquer alteração no banco (criação de colunas, modificação do tamanho máxima das colunas), é necessário refeti-la no dataset tipado correspondente, ou recriar o dataset. Isso vale mesmo em situações onde o tamanho das colunas aparentemente não é relevante. Deve ser devido a checagens de integridade que são feitas pelo dataset.
Devido aos problemas citadaos acima, pessoalmente cheguei à conclusão que muitas vezes é mais produtivo usar ADO .NET diretamente, ao invés dos table adapters. Vamos aguardar o LINQ pra ver se será lançada uma solução adequada para mapeamento objeto-relacional.