Como conectar-se ao Banco de dados SQL do Windows Azure usando o ADO.NET Entity Framework
O ADO.NET Estrutura da entidade permite que os desenvolvedores criem aplicativos de acesso a dados programando de acordo com um modelo de aplicativo conceitual em vez de programar diretamente de acordo com um esquema de armazenamento relacional.
Este tópico mostra como criar um modelo conceitual simples que é mapeado para um Banco de dados SQL do Windows Azure e consultas sobre o modelo conceitual. O exemplo de Visual C#/Visual Basic a seguir cria uma consulta segura sobre os objetos CLR que representam entidades e associações no modelo School, que retorna os nomes de departamento no modelo School.
Para seguir este exemplo, você deve instalar o Estrutura da entidade do .NET Framework 3.5 Service Pack 1 ou versões posteriores.
Criar o modelo de dados
-
No Visual Studio, no menu Arquivo, aponte para Novo e clique em Projeto.
-
No painel Tipos de projeto, selecione Windows. No painel Modelos, selecione Aplicativo de Console. Digite SchoolApplicationEF como Nome e clique em OK.
-
No Gerenciador de Soluções, clique com o botão direito em SchoolApplicationEF, aponte para Adicionar e selecione Novo Item.
-
Selecione Modelo de Dados de Entidade ADO.NET, digite SchoolDataModel.edmx como Nome e clique em Adicionar.
-
No Assistente de Modelo de Dados de Entidade, selecione Gerar do banco de dados e clique em Avançar.
-
Clique em Nova Conexão, digite as informações para o banco de dados School em seu servidor do Banco de dados SQL e clique em OK. Escolha a opção Não, exclua os dados confidenciais da cadeia de conexão. Estas informações serão definidas em código de aplicativo. Em seguida, clique em Avançar. Para obter informações sobre como migrar o banco de dados School para o Banco de dados SQL, consulte Como migrar um banco de dados usando o Assistente para Gerar Scripts (Banco de Dados SQL do Windows Azure).
-
Selecione Tabelas e clique em Concluir. Isso cria um arquivo .edmx que define um tipo de entidade para cada tabela no banco de dados.
-
Salve o arquivo SchoolDataModel.edmx.
Observação Durante a execução deste exemplo no Visual Studio 2008, o Estrutura da entidade não pode criar o arquivo .edmx e as classes de cliente de um Banco de dados SQL. Ele deve conectar-se a uma instância local do SQL Server para gerar o modelo e os arquivos de mapeamento. Entretanto, o Estrutura da entidade se conectará ao Banco de dados SQL do Windows Azure após a criação do modelo e dos arquivos de mapeamento. Além disso, a caixa de seleção Pluralize ou singularize nomes de objetos gerados não existe no Visual Studio 2008. Portanto, você deve atualizar DepartmentscomoDepartmenteCoursescomoCourseno exemplo de código a seguir.
Criar o aplicativo de console
-
Substitua o código em seu arquivo de programa pelo código a seguir e pressione F5 para executar o aplicativo de acordo com seu Banco de dados SQL.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SchoolApplicationEF { class Program { private static SchoolEntities schoolContext; static void Main(string[] args) { //Initialize the ObjectContext using (schoolContext = new SchoolEntities()) { // Define a query that returns all Department // objects and related Course objects, ordered by name. var departmentQuery = from d in schoolContext.Departments.Include("Courses") orderby d.Name select d; Console.WriteLine("List of departments: "); try { foreach (Department dep in departmentQuery) Console.WriteLine(dep.Name); } catch (Exception ex) { Console.WriteLine("An error occurred: " + ex.Message); } } Console.WriteLine("Hit enter..."); Console.Read(); } } }
Migrar o aplicativo para o Banco de dados SQL
-
Migre o banco de dados School para o Banco de dados SQL seguindo as instruções de Como migrar um banco de dados usando o Assistente para Gerar Scripts (Banco de Dados SQL do Windows Azure).
-
No projeto SchoolEFApplication, abra o arquivo App.Config. Altere a cadeia de conexão de forma que ela se conecte ao seu Banco de dados SQL.
<connectionStrings> <add name="SchoolEntities" connectionString="metadata=res://*/SchoolDataModel.csdl|res://*/SchoolDataModel.ssdl|res://*/SchoolDataModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=<provideServerName>.database.windows.net;Initial Catalog=School;Integrated Security=False;User ID=<provideUserID>;Password=<providePassword>;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False"" providerName="System.Data.EntityClient"/> </connectionStrings> -
Pressione a F5 para executar o aplicativo em seu Banco de dados SQL.
Consulte também