Connect with us

.NET

Entityframework usando C# e a tecnica de CODE FIRST

Published

on

O Entity Framework é um framework de mapeamento objeto-relacional (ORM) que permite aos desenvolvedores trabalhar com dados relacionais usando objetos e consultas em linguagem natural. Com a técnica Code First, o desenvolvedor cria a estrutura do banco de dados através do código, permitindo que o Entity Framework gere o banco de dados a partir do código.

A seguir, mostraremos como usar o Entity Framework com a técnica Code First para criar e gerenciar um banco de dados em uma aplicação .NET.

Passo 1: Instale o Entity Framework Antes de começar a usar o Entity Framework, é preciso instalar o pacote correspondente ao projeto. No Visual Studio, clique com o botão direito do mouse no projeto e selecione “Gerenciador de Pacotes do NuGet”. Na janela que aparece, pesquise pelo pacote “EntityFramework” e selecione “Instalar”.

Passo 2: Crie as classes de entidade As classes de entidade são classes que representam as tabelas do banco de dados. Cada classe deve ter propriedades que correspondam às colunas da tabela. Por exemplo, para criar uma tabela “Clientes” com as colunas “Id”, “Nome” e “Email”, é possível criar a seguinte classe:


public class Cliente
{
public int Id { get; set; }
public string Nome { get; set; }
public string Email { get; set; }
}

Passo 3: Crie o contexto do banco de dados
O contexto do banco de dados é a classe que gerencia as operações de banco de dados, como adicionar, excluir e atualizar registros. Ele também é responsável por criar o banco de dados e suas tabelas. Para criar o contexto, crie uma nova classe que herde de DbContext, como no exemplo abaixo:

public class MeuContexto : DbContext
{
    public DbSet<Cliente> Clientes { get; set; }
}

A propriedade DbSet representa uma tabela do banco de dados. No exemplo acima, há apenas uma tabela chamada “Clientes”.

Passo 4: Configure o banco de dados É possível configurar o banco de dados através da classe de contexto. Por exemplo, é possível definir o nome do banco de dados, a conexão com o banco de dados e outras opções de configuração. Para fazer isso, sobrescreva o método OnModelCreating da classe de contexto, como no exemplo abaixo:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Cliente>().ToTable("Clientes");
    base.OnModelCreating(modelBuilder);
}

No exemplo acima, definimos o nome da tabela como “Clientes”.

Passo 5: Use o contexto para acessar o banco de dados Agora que as classes de entidade e o contexto do banco de dados foram criados, é possível usar o contexto para acessar o banco de dados. Por exemplo, para adicionar um novo cliente, é possível criar uma nova instância da classe Cliente e adicioná-la ao contexto:

using (var db = new MeuContexto())
{
var cliente = new Cliente { Nome = "João", Email = "joao@example.com" };
db.Clientes.Add(cliente);
db.SaveChanges();
}

No exemplo acima, criamos uma nova instância do contexto, adicionamos um novo cliente e salvamos as alterações no banco de dados.

Ai vocês perguntam, e se as entidades tiverem relacionamentos ? por exemplo: um cliente pode ter apenas um endereço, mas pode ter vários telefones.

Se a entidade tiver relacionamentos, é possível configurá-los através da técnica Code First do Entity Framework. Para isso, é necessário definir as propriedades de navegação e chaves estrangeiras nas classes de entidade.

No exemplo, em que um cliente pode ter muitos telefones e somente um endereço, é possível criar as classes de entidade da seguinte forma:

public class Cliente
{
    public int Id { get; set; }
    public string Nome { get; set; }
    public string Email { get; set; }
    public virtual Endereco Endereco { get; set; }
    public virtual ICollection<Telefone> Telefones { get; set; }
}

public class Endereco
{
    public int Id { get; set; }
    public string Logradouro { get; set; }
    public string Cidade { get; set; }
    public string Estado { get; set; }
    public string Cep { get; set; }
}

public class Telefone
{
    public int Id { get; set; }
    public string Numero { get; set; }
}

Na classe Cliente, há duas propriedades de navegação: Endereco e Telefones. A propriedade Endereco é virtual, o que significa que ela será carregada de forma preguiçosa pelo Entity Framework. A propriedade Telefones é uma coleção de telefones, representando a relação de um para muitos entre um cliente e seus telefones.

Para configurar as chaves estrangeiras, é necessário sobrescrever o método OnModelCreating da classe de contexto, como no exemplo abaixo:

No exemplo acima, estamos definindo que a propriedade Endereco é opcional (pode ser nula) e a propriedade Telefones é obrigatória (não pode ser nula). A chave estrangeira da propriedade Endereco é definida como “EnderecoId” e a chave estrangeira da propriedade Telefones é definida como “ClienteId”.


protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Cliente>()
        .HasOptional(c => c.Endereco)
        .WithRequired()
        .Map(m => m.MapKey("EnderecoId"));

    modelBuilder.Entity<Cliente>()
        .HasMany(c => c.Telefones)
        .WithRequired()
        .HasForeignKey(t => t.ClienteId);

    base.OnModelCreating(modelBuilder);
}

Com essa configuração, é possível acessar os dados relacionados de forma simples, como no exemplo abaixo:

using (var db = new MeuContexto())
{
    var cliente = new Cliente
    {
        Nome = "João",
        Email = "joao@example.com",
        Endereco = new Endereco
        {
            Logradouro = "Rua das Flores",
            Cidade = "São Paulo",
            Estado = "SP",
            Cep = "01010-010"
        },
        Telefones = new List<Telefone>
        {
            new Telefone { Numero = "(11) 1234-5678" },
            new Telefone { Numero = "(11) 9876-5432" }
        }
    };

    db.Clientes.Add(cliente);
    db.SaveChanges();
}

No exemplo acima, criamos um novo cliente com um endereço e dois telefones. O Entity Framework é capaz de salvar todas as entidades relacionadas no banco de dados de forma automática.

Conclusão

A técnica Code First do Entity Framework é uma ótima opção para desenvolvedores que desejam criar e gerenciar bancos de dados usando o código, sem a necessidade de escrever SQL manualmente. Com o Entity Framework, é possível criar classes de entidade e um contexto do banco de dados para gerenciar as operações de banco de dados. Além disso, é possível configurar o banco de dados através da classe de contexto e usar o contexto para acessar o banco de dados. Com essas ferramentas, o desenvolvimento de aplicativos pode ser muito mais fácil e eficiente.

.NET

Microsoft está oferecendo cursos gratuitos com certificado!

Published

on

🚨🥁 A Microsoft está oferecendo cursos GRATUITOS com certificados. Não esqueça de compartilhar e ajudar alguém 👍🏼🚀😀

(Lembre-se, é um certificado, não uma certificação)! 😀

🌐 Microsoft Azure Fundamentals

  • AZ-900
  • 24-Hour
  • Link: https://lnkd.in/d6Xnvn_a

🌐 Microsoft Azure Administrator

  • AZ-104
  • 96-Hour
  • Link: https://lnkd.in/dyYZaDqH

🌐 Developing Solutions for Microsoft Azure

  • AZ-204
  • 120-Hour
  • Course Link: https://lnkd.in/daGp_ZqN

🌐 Designing Microsoft Azure Infrastructure Solutions

  • AZ-305
  • 96-Hour
  • Link: https://lnkd.in/d3bCnx2t

🌐 Designing and Implementing Microsoft DevOps solutions

  • Course AZ-400
  • 96-Hour Course
  • Course Link: https://lnkd.in/dGej85sS

🌐 Microsoft Azure Data Fundamentals

  • Course DP-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/d2t4Jz6i

🌐 Microsoft Azure Al Fundamentals

  • Course Al-900
  • 24-Hour Course
  • Course Link https://lnkd.in/d8DEgKiJ

🌐Designing and Implementing a Microsoft Azure Al Solution

  • Course Al-102
  • 96-Hour Course
  • Course Link: https://lnkd.in/d_QBZtHa

🌐 Develop Generative Al Solutions with Azure OpenAl Service

  • Course Al-050
  • 24-Hour Course
  • Course Link: https://lnkd.in/ddf28zBD

🌐 Microsoft Security, Compliance, and Identity Fundamentals

  • Course SC-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/dmzUN3jS

🌐 Microsoft Security Operations Analyst

  • Course SC-200
  • 96-Hour Course
  • Course Link: https://lnkd.in/dTUt7C7P

🌐 Microsoft Cybersecurity Architect

  • Course SC-100
  • 96-Hour Course
  • Course Link: https://lnkd.in/dK5Nw2Qa

🌐 Microsoft Azure Security Technologies

  • Course AZ-500
  • 96-Hour Course
  • Course Link: https://lnkd.in/dSfKTws5

🌐 Designing and Implementing Microsoft Azure Networking Solutions

  • Course AZ-700
  • 72-Hour Course
  • Link: https://lnkd.in/dEKyyz5Y

🌐 Data Engineering on Microsoft Azure

  • Course DP-203
  • 96-Hour Course
  • Link: https://lnkd.in/damz4ewp

🌐 Designing and implementing a data science solution on Azure

  • Course DP-100
  • 96-Hour Course
  • Link: https://lnkd.in/dedSYpEN

🌐 Administering Microsoft Azure SQL Solutions

  • Course DP-300
  • 96-Hour Course
  • Link: https://lnkd.in/dREpV56r

FreeCourses #microsoft #azure #cloud #Upskill #MicrosoftAzure #ITCareer #Cybersecurity #Opportunity #CareerDevelopment #LearningResources #ShareKnowledge #free #certification #certificacao

Continue Reading

.NET

O .NET 8: Descubra as Incríveis Novidades do .NET 8 que Vão Revolucionar Seu Desenvolvimento!

O .NET 8 oferece uma gama de novos recursos e melhorias que tornam a plataforma ainda mais robusta e eficiente. Com aprimoramentos no C#, suporte avançado para desenvolvimento full-stack com Blazor, a introdução do .NET MAUI, melhorias de performance, atualizações no ASP.NET Core e suporte ao HTTP/3, o .NET 8 está bem equipado para enfrentar as demandas de desenvolvimento moderno. Desenvolvedores podem esperar uma experiência mais fluida, rápida e integrada, seja na criação de aplicações web, desktop ou mobile.

Published

on

O .NET 8, lançado pela Microsoft, traz uma série de inovações e melhorias que visam aumentar a produtividade dos desenvolvedores, melhorar a performance das aplicações e expandir a versatilidade da plataforma. A seguir, vamos explorar algumas das principais novidades e fornecer exemplos práticos de como essas mudanças podem ser aplicadas.

Principais Novidades do .NET 8

1. Aprimoramentos no C# 12

O .NET 8 inclui a versão mais recente do C#, o C# 12, que apresenta várias melhorias e novos recursos. Dentre os destaques, temos:

  • Primary Constructors para Structs e Classes: Simplifica a definição de construtores para structs e classes.
  • Default Interpolated Strings: Torna a interpolação de strings mais flexível e poderosa.
public struct Pessoa(string nome, int idade);
var pessoa = new Pessoa("Alice", 30);
Console.WriteLine($"Nome: {pessoa.nome}, Idade: {pessoa.idade}");

2. Blazor Full-Stack

O Blazor, a tecnologia de construção de interfaces web interativas utilizando C#, agora suporta full-stack development. Isso significa que os desenvolvedores podem criar tanto o front-end quanto o back-end usando Blazor, proporcionando uma experiência de desenvolvimento mais coesa.

@page "/contador"
@code {
    private int contador = 0;
    private void IncrementarContador() => contador++;
}
<button @onclick="IncrementarContador">Clique me: @contador</button>

3. MAUI (Multi-platform App UI)

O .NET MAUI é a evolução do Xamarin.Forms e permite a criação de aplicações multi-plataforma (iOS, Android, Windows, macOS) com um único código-base.

public class App : Application
{
    public App()
    {
        MainPage = new ContentPage
        {
            Content = new StackLayout
            {
                Children = {
                    new Label { Text = "Bem-vindo ao .NET MAUI!" }
                }
            }
        };
    }
}

4. Melhorias de Performance

O .NET 8 continua a tradição de aprimorar a performance da plataforma. Algumas melhorias incluem otimizações no JIT (Just-In-Time) compiler, melhorias na alocação de memória e novos recursos no runtime que reduzem o overhead das aplicações.

5. Atualizações no ASP.NET Core

O ASP.NET Core, framework para construção de aplicações web e APIs, recebeu várias melhorias no .NET 8:

  • Minimal APIs com mais funcionalidades: Inclui mais suporte para autenticação e autorização, e melhores ferramentas de depuração.
  • Novo sistema de autenticação: Simplifica a configuração de autenticação em aplicações web.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/saudacao", () => "Olá, Mundo!");

app.Run();

6. Suporte ao HTTP/3

O .NET 8 traz suporte aprimorado ao HTTP/3, permitindo a construção de aplicações que se beneficiam das melhorias de performance e segurança do novo protocolo.

7. Hot Reload

A funcionalidade de Hot Reload permite que os desenvolvedores façam mudanças no código durante a execução da aplicação, e essas mudanças são refletidas instantaneamente, sem a necessidade de recompilar ou reiniciar a aplicação.

Exemplo:

Alterações em uma aplicação Blazor são aplicadas instantaneamente durante a execução:

<h1>Hello, world!</h1>
<p>Bem-vindo ao uso de Hot Reload no Blazor!</p>

Conclusão

O .NET 8 oferece uma gama de novos recursos e melhorias que tornam a plataforma ainda mais robusta e eficiente. Com aprimoramentos no C#, suporte avançado para desenvolvimento full-stack com Blazor, a introdução do .NET MAUI, melhorias de performance, atualizações no ASP.NET Core e suporte ao HTTP/3, o .NET 8 está bem equipado para enfrentar as demandas de desenvolvimento moderno. Desenvolvedores podem esperar uma experiência mais fluida, rápida e integrada, seja na criação de aplicações web, desktop ou mobile.

Continue Reading

.NET

A Microsoft está oferecendo cursos de certificação GRATUITOS!

Published

on

A Microsoft está oferecendo cursos de certificação GRATUITOS!

Sem taxa, sem assinatura, sem necessidade de registro, basta começar a aprender. Esses cursos incluem palestras em vídeo, tutoriais e notas fáceis. Conheça os seguintes cursos gratuitos.

1. Fundamentos do Microsoft Azure
– Curso AZ-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dtYedpnZ

2. Desenvolvendo soluções para Microsoft Azure
– Curso AZ-204T00
– Curso de 120 horas
– Link do curso: https ://lnkd.in/dzVWhp7u

3. Administrador do Microsoft Azure
– Curso AZ-104T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/djrYxCqW

4. Configurando e operando o Microsoft Azure Virtual Desktop
– Curso AZ-140
– Curso de 96 horas
– Link do curso: https://lnkd.in/dsd5CPJy

5. Projetando soluções de infraestrutura Microsoft Azure
– Curso AZ-305T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/dq28keX9

7. Fundamentos de dados do Microsoft Azure
– Curso DP-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dmtfCKHM

8. Fundamentos de IA do Microsoft Azure
– Curso AI-900T00
– Curso de 24 horas
– Link do curso: https:// lnkd.in/drnFx6qF

9. Projetando e implementando uma solução de IA do Microsoft Azure
– Curso AI-102T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/dt_rFFgK

10. Desenvolva soluções de IA generativas com o serviço Azure OpenAI
– Curso AI-050T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dKNN3mph

11. Fundamentos de segurança, conformidade e identidade da Microsoft
– Curso SC-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dVWxqa_E

12. Engenharia de dados no Microsoft Azure
– Curso DP-203T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/duKTsYMa

13. Analista de operações de segurança da Microsoft
– Curso SC-200T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/du3d55NG

14. Projetando e implementando soluções de rede Microsoft Azure
– Curso AZ-700T00
– Curso de 72 horas
– Link do curso: https://lnkd.in/dgmBzYDS

15. Projetando e implementando uma solução de ciência de dados no Azure
– Curso DP-100T01
– Curso de 96 horas
– Link do curso: https://lnkd.in/dZ8WXxYx

#Segurança #Cibernética #Microsoft #DesenvolvimentodeCarreira #SegurançadaInformação #Cursos #nuvem #az900 #azure #carreiratech #techrecruiter

Continue Reading

Trending

Copyright © 2023 CodeInsider.com.br - criado por Dallm IT