Skip to content

Commit 09aa929

Browse files
Create 2024-09-19-aprender-a-programar-em-csharp-parte-5.md
1 parent ac57e56 commit 09aa929

File tree

1 file changed

+220
-0
lines changed

1 file changed

+220
-0
lines changed
Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
---
2+
title: 'Aprender a programar em C# – Parte 4'
3+
date: Thu, 19 Sep 2024 19:30:00 +0000
4+
draft: false
5+
tags: ['Aprender a programar em C#', 'C Sharp', 'C#', 'C#', 'Conceitos básicos', 'Iniciante', 'Visual Studio']
6+
---
7+
8+
Na sequência da nossa série sobre como aprender a programar em C#, chegamos a um tema muito relevante e atual: LINQ (Language Integrated Query), expressões Lambda e o Entity Framework. Esses conceitos são fundamentais para quem deseja trabalhar com dados de forma eficiente e moderna em aplicações C#. Neste artigo, vamos explorar cada um deles, entender suas funcionalidades e como utilizá-los em nossos projetos.
9+
10+
## 1. O que é LINQ?
11+
12+
LINQ é uma poderosa ferramenta que permite realizar consultas a diferentes fontes de dados (como coleções em memória, bancos de dados, XML, entre outros) utilizando uma sintaxe semelhante à SQL. Com LINQ, você pode escrever consultas de forma mais legível e concisa, integrando-as diretamente ao código C#.
13+
14+
### Exemplo de uso do LINQ
15+
16+
Vamos considerar uma lista simples de objetos `Produto` e realizar uma consulta para filtrar produtos com preço superior a um determinado valor.
17+
18+
csharp
19+
20+
```csharp
21+
using System;
22+
23+
using System.Collections.Generic;
24+
25+
using System.Linq;
26+
27+
public class Produto
28+
29+
{
30+
31+
public string Nome { get; set; }
32+
33+
public decimal Preco { get; set; }
34+
35+
}
36+
37+
class Program
38+
39+
{
40+
41+
static void Main()
42+
43+
{
44+
45+
List<Produto> produtos = new List<Produto>
46+
47+
{
48+
49+
new Produto { Nome = "Produto A", Preco = 50 },
50+
51+
new Produto { Nome = "Produto B", Preco = 150 },
52+
53+
new Produto { Nome = "Produto C", Preco = 30 }
54+
55+
};
56+
57+
var produtosCaros = from p in produtos
58+
59+
where p.Preco > 100
60+
61+
select p;
62+
63+
foreach (var produto in produtosCaros)
64+
65+
{
66+
67+
Console.WriteLine($"Produto: {produto.Nome}, Preço: {produto.Preco}");
68+
69+
}
70+
71+
}
72+
73+
}
74+
```
75+
76+
Neste exemplo, utilizamos a sintaxe de consulta do LINQ para filtrar produtos com preço superior a 100. A consulta é executada e os resultados são exibidos no console.
77+
78+
## 2. Expressões Lambda
79+
80+
As expressões Lambda são uma forma concisa de representar métodos anônimos. Elas são frequentemente utilizadas em conjunto com LINQ para simplificar a sintaxe das consultas.
81+
82+
### Exemplo de uso de Lambda
83+
84+
O mesmo exemplo anterior pode ser reescrito utilizando expressões Lambda:
85+
86+
csharp
87+
88+
```csharp
89+
var produtosCaros = produtos.Where(p => p.Preco > 100);
90+
91+
foreach (var produto in produtosCaros)
92+
93+
{
94+
95+
Console.WriteLine($"Produto: {produto.Nome}, Preço: {produto.Preco}");
96+
97+
}
98+
```
99+
100+
Aqui, a expressão `p => p.Preco > 100` é uma expressão Lambda que define a condição de filtragem. Essa sintaxe é mais compacta e muitas vezes mais fácil de ler.
101+
102+
## 3. O que é o Entity Framework?
103+
104+
O Entity Framework (EF) é uma biblioteca de mapeamento objeto-relacional (ORM) que facilita a interação com bancos de dados em aplicações .NET. Com o EF, você pode trabalhar com dados utilizando objetos C# em vez de escrever comandos SQL diretamente.
105+
106+
### Configurando o Entity Framework
107+
108+
Para começar a usar o Entity Framework em seu projeto, você precisa instalá-lo via NuGet. No Visual Studio, você pode fazer isso através do Package Manager Console:
109+
110+
bash
111+
112+
```bash
113+
Install-Package EntityFramework
114+
```
115+
116+
### Exemplo de uso do Entity Framework
117+
118+
Vamos criar um exemplo simples de como usar o Entity Framework para realizar operações CRUD em uma tabela de produtos.
119+
120+
1. **Definindo o modelo de dados:**
121+
122+
csharp
123+
124+
```csharp
125+
public class Produto
126+
127+
{
128+
129+
public int Id { get; set; }
130+
131+
public string Nome { get; set; }
132+
133+
public decimal Preco { get; set; }
134+
135+
}
136+
```
137+
138+
2. **Criando o contexto do banco de dados:**
139+
140+
csharp
141+
142+
```csharp
143+
using System.Data.Entity;
144+
145+
public class MeuDbContext : DbContext
146+
147+
{
148+
149+
public DbSet<Produto> Produtos { get; set; }
150+
151+
}
152+
```
153+
154+
3. **Realizando operações CRUD:**
155+
156+
csharp
157+
158+
```csharp
159+
class Program
160+
161+
{
162+
163+
static void Main()
164+
165+
{
166+
167+
using (var context = new MeuDbContext())
168+
169+
{
170+
171+
// Adicionar um novo produto
172+
173+
var novoProduto = new Produto { Nome = "Produto D", Preco = 200 };
174+
175+
context.Produtos.Add(novoProduto);
176+
177+
context.SaveChanges();
178+
179+
// Consultar produtos
180+
181+
var produtos = context.Produtos.ToList();
182+
183+
foreach (var produto in produtos)
184+
185+
{
186+
187+
Console.WriteLine($"Produto: {produto.Nome}, Preço: {produto.Preco}");
188+
189+
}
190+
191+
// Atualizar um produto
192+
193+
var produtoParaAtualizar = context.Produtos.First();
194+
195+
produtoParaAtualizar.Preco = 250;
196+
197+
context.SaveChanges();
198+
199+
// Excluir um produto
200+
201+
var produtoParaExcluir = context.Produtos.Last();
202+
203+
context.Produtos.Remove(produtoParaExcluir);
204+
205+
context.SaveChanges();
206+
207+
}
208+
209+
}
210+
211+
}
212+
```
213+
214+
Neste exemplo, criamos um novo produto, consultamos todos os produtos, atualizamos o preço de um produto e, por fim, excluímos um produto do banco de dados.
215+
216+
## Conclusão
217+
218+
Neste artigo, abordamos conceitos fundamentais como LINQ, expressões Lambda e o Entity Framework, que são essenciais para o desenvolvimento de aplicações C# modernas e eficientes. Com essas ferramentas, você pode manipular dados de forma mais intuitiva e produtiva.
219+
220+
No próximo artigo, continuaremos a explorar mais recursos do C# e do .NET, sempre buscando aprimorar suas habilidades de programação. Até lá, bons estudos e mãos à obra!

0 commit comments

Comments
 (0)