Este artigo foi traduzido por máquina.

Caixa de ferramentas

Ferramentas de banco de dados e OR/M, Oren Eini e guias personalizadas do Visual Studio

Scott Mitchell

Aprimorando o LINQ to SQL e ADO.NET Entity Framework Designers

O LINQ to SQL e ADO.NET Entity Framework são dois mapeamento relacional de objeto (ou / M) implementações da Microsoft. Usando essas OR / MS envolve criando um arquivo .dbml ou .edmx que contém um mapeamento entre o modelo relacional e o modelo de objeto. Nos bastidores, esse mapeamento é definido por XML, mas o designer do Visual Studio torna criar tais mapeamentos tão fácil como arrastar e soltar.

Se você usa LINQ to SQL ou Entity Framework em seus aplicativos e encarregado de manter os arquivos de mapeamento, check-out Huagati DBML/EDMX ferramentas (versão 1.76), que adiciona um número de recursos para o Visual Studio do LINQ to SQL e Entity Framework designers.

Observando prescrito convenções de nomenclatura no modelo de objeto é um desafio comum com arrastar e soltar ou / M ferramentas. Nomes de objeto de banco de dados freqüentemente incluem prefixos como “ tbl ” ou “ usp_ ”, ou podem ser capitalizados inteiramente ou minúsculas. Ao adicionar um objeto de banco de dados para o designer, Visual Studio cria a classe correspondente usando os mesmos prefixos e casing, que podem executar contador para sua equipe do convenções de nomeação. Com Huagati DBML/EDMX ferramentas, você está apenas alguns cliques longe de renomear todas as classes e membros no modelo de objeto. Você pode adicionar ou remover prefixos ou sufixos, forçar maiúsculas e minúsculas adequada, remover sublinhados e mais.

Um shortcoming do Visual Studio LINQ to SQL designer é que não há nenhum mecanismo para atualizar o modelo de objeto para refletir as alterações mais recentes do banco de dados. Por exemplo, quando você primeiro arrasta uma tabela de banco de dados para o designer, um objeto é criado com propriedades que correspondem às colunas da tabela. Se três novas colunas são adicionadas à mesma tabela algumas semanas mais tarde, retornar para o LINQ to SQL designer e ambos remover e adicionar novamente a tabela no Designer ou adicionar três novas propriedades manualmente para a classe correspondente. Este shortcoming é um problema-não com ferramentas DBML/EDMX Huagati, que pode relatar as diferenças entre o modelo relacional e o modelo de objeto e automaticamente sincronizar o modelo de objeto com o modelo relacional. Ferramentas DBML/EDMX Huagati também pode gerar as instruções SQL necessárias para modificar o modelo relacional para que espelha o modelo de objeto.

Outro recurso útil é a ferramenta de documentação, que recupera as descrições de tabela e coluna do banco de dados e inclui na documentação XML do modelo de objeto.

Ferramentas DBML/EDMX Huagati inclui uma dia 45 versão de avaliação gratuita, juntamente com as versões Standard e Professional. A versão Standard custa r$ 50,00 por licença de usuário e oferece suporte a tabelas até 80 por modelo. A versão Professional custa $ 120 por licença de usuário e impõe sem limites.

Preço: $ 50 a r$ 120 por licença de usuário
huagati.com/dbmltools

Blogs importantes

Um dos meus blogueiros Favoritos do .NET é Oren Eini, um blogger engenhoso e desenvolvedor respeitado software que posta em pseudônimo Ayende Rahien. Eini talvez é conhecido por suas contribuições para projetos de origem aberto .NET. Ele é um colaborador NHibernate, um popular ou / M framework revisado na edição de outubro de 2006 da ( msdn.microsoft.com/magazine/cc163540 ), MSDN Magazinee é o criador do Rhino Mocks, um .NET framework simulação abordado na edição de janeiro de 2008 ( msdn.microsoft.com/magazine/cc135981 ).

Oren Eini’s blog

Blog de Oren Eini

Postagens de blog do Eini explore um espectro de tópicos. Algumas entradas examinar um recurso ou a armadilha de uma estrutura específica, como NHibernate ou o Microsoft Entity Framework. A maioria são mais geral, imparting conselhos de fossas sobre design de banco de dados ou / M uso, teste e software de arquitetura e design. Postagens costumam incluem capturas de tela, diagramas e trechos de código.

Você encontrará, por exemplo, uma série de postagens em OR / M implementação desafios, como o mapeamento entre o relacional e modelos de objeto, hydrating entidades e isso no. E certifique-se de ler Resolvendo o Select N + 1 problema , que explica como Iterando pai-filho dados involuntariamente pode levar a problemas sérios de desempenho.

Blog do Eini também contém tipos de postagens que normalmente não localizar nos blogs voltada para desenvolvedores. Por exemplo, há um número de entradas que são apenas algumas frases longas ainda ainda gerenciar para transmitir uma idéia importante e obter o leitor pensando. Outras postagens contêm um trecho de código demorada com uma única instrução semelhante, “ localizar o bug ”. Com esses tipos de postagens, juntamente com sua saída impressionante, não é incomum para lá para ser três ou mais postagens por dia .  Blog de Oren é obrigatória para os desenvolvedores .NET e arquitetos.

ayende.com/Blog

Executar consultas simultâneo contra Databases múltiplos

No decorrer da minha carreira, eu já ajudou a criar um número de aplicativos multi-tenant — aplicativos que têm uma única instância em execução em um servidor web hospedado, mas são usados por várias organizações. Um aplicativo multi-tenant deve garantir que um usuário pode exibir e gerenciar os dados que pertence à sua organização. Para esse fim, multi-tenant aplicativos que funcionam com informações confidenciais geralmente armazenam dados de cada organização em um banco de dados separado para isolar dados (entre outros motivos) totalmente.

Exibir dados agregados em várias organizações pode ser um desafio real quando dados de cada organização são armazenados em um banco de dados separado. Imagine que um desenvolvedor localiza um bug corrompeu dados para uma determinada organização. Para determinar se há corrupção semelhante para os clientes, o desenvolvedor deve executar uma consulta em cada banco de dados único, emitindo um conjunto de resultados separado para cada. Como você pode imaginar, que obtém entediante. Idealmente, os resultados de cada banco de dados poderiam ser agregados em uma saída única, unificada, que, em seguida, poderia ser classificada, filtrados e assim por diante.

Nos anos, eu tenha consultado vários bancos de dados usando uma variedade de técnicas, incluindo o procedimento não documentado armazenados a sp_MsForEachDb, gravar arquivos em lotes e criar ferramentas personalizadas. Recentemente, um colega me introduzido para (versão 1.1), SQL vários scripts da Red Gate Software e ainda não parecia volta. SQL Multi Script funciona muito como você esperaria — insira instruções SQL para executar e selecione os bancos de dados de consulta contra. Script do SQL Multi dispara instruções SQL para bancos de dados especificados e agregações e exibe os resultados.

SQL Multi Script

Script de múltipla SQL

Por padrão, o script do SQL Multi envia instruções SQL para bancos de dados em paralelo. Isso pode reduzir bastante o tempo que leva para voltar resultados, especialmente quando os bancos de dados residem em servidores diferentes. Como alternativa, você pode instruir o script do SQL Multi para emitir as instruções serialmente, que é útil se você deseja interromper a execução de script na face de um erro.

Se um erro, o script do SQL Multi oferece quatro opções de manipulação de erro: continuar executando o script (o comportamento padrão); parar executando a instrução atual no banco de dados, mas continuar com as instruções de SQL; parar de executar todas as instruções neste banco de dados e mover na próxima do banco de dados na lista; ou parar a execução de todas as instruções em todos os bancos de dados.

Painel de resultados do script SQL múltipla fornece uma exibição agregada das mensagens e dados retornados por bancos de dados, juntamente com um histórico dos scripts executada contra os bancos de dados durante a sessão atual. Painel resultados também inclui uma caixa de seleção lista de bancos de dados que foram consultados; marcar ou desmarcar um banco de dados para mostrar ou remover seus resultados de agregação. Você também pode clicar no botão Salvar para salvar resultados agregados em um arquivo .csv ou .txt.

Preço: $195
vermelho gate.com

Melhorar os guias do Studio Visual

Ao trabalhar em um projeto grande, não é incomum ter dezenas de arquivos abra dentro do Visual Studio. Infelizmente, a interface de usuário do Visual Studio deixa um pouco a desejar quando houver muitos documentos abertos. Por padrão, o Visual Studio usa um SDI (Single Document Interface) com uma série de guias que mostram quais documentos estão abertos. No entanto, essas guias são dispostas horizontalmente, que limita quantos podem ser exibido na tela. O Visual Studio Multi Interface de documentos (MDI) não mostra as guias, mas requer que o usuário vá para o menu janela para exibir e alternar entre documentos abertos em vez disso.

Guias Studio (versão 1.6) por Sergey Vlasov, é um suplemento que substitui as guias internas do Visual Studio com um conjunto aprimorado e personalizável de guias. Diferentemente do Visual Studio, guias Studio exibe a guia para cada documento aberto em configurações da SDI e MDI. Se não há espaço horizontal suficiente para exibir cada guia, o Studio guias empilha-los verticalmente.

Tabs Studio

Guias Studio

Muitos tipos de componentes criados no Visual Studio são implementados usando vários arquivos. Por exemplo, criando uma página ASP.NET chamada Default.aspx realmente cria dois arquivos default.aspx e default.aspx.cs (ou default.aspx.vb). Guias Studio adiciona recursos que tornam mais fácil trabalhar com esses arquivos.

Digamos que você está trabalhando com default.aspx e precisa abrir default.aspx.cs. Clique com o botão direito do mouse na guia default.aspx e menu de contexto inclui uma opção de abrir default.aspx.cs. E ’s mais guias Studio agrupa documentos relacionados em uma única guia. Quando são abertos default.aspx e default.aspx.cs, Studio guias irá exibir uma única guia que lista o nome de arquivo sem extensão (padrão) juntamente com duas extensões (.aspx e. aspx.cs). Clique na extensão .aspx no guia para trazer até default.aspx ou clique em. aspx.cs exibir default.aspx.cs.

Guias Studio também tem uma variedade de opções de configuração. Por exemplo, tabulações Studio permite que os estilos de ’ guias para ser personalizado por meio de XAML. Você pode configurar as guias ’ fontes, cores, formas e mais. E como as configurações são definidas usando XAML, você pode incluir instruções condicionais e outra lógica programática, tornando possível fazer coisas como especificar estilos para a guia atualmente selecionada ou fazer a guia selecionada anteriormente uma cor diferente de outras guias não selecionado. Guias Studio pode ser personalizado ainda mais usando suplementos. Você pode escrever sua própria ou baixar qualquer os livres suplementos disponíveis do site do guias Studio.

Guias Studio está disponível para o não-Express Editions do Visual Studio 2005, 2008 e 2010.

Preço: $34
tabsstudio.com

Scott Mitchell,* autor de diversos livros e fundador da 4GuysFromRolla.com, é um MVP que trabalha com tecnologias Microsoft Web desde 1998. Mitchell é um consultor independente, instrutor e escritor. Entre no do Mitchell@4guysfromrolla.com ou através de seu blog em do ScottOnWriting.NET.*

Todos os preços confirmados no pressione tempo e estão sujeitos a alterações. As opiniões expressas nesta coluna são exclusivas do autor e não refletem, necessariamente, as opiniões da Microsoft.

Envie suas dúvidas e comentários para Scott de toolsmm@microsoft.com.