EF Core - Projeto Console(.NET Core)
Hoje temos um tutorial para criação de um projeto Console do tipo .NET Core usando o EF Core que acessa o banco de dados Northwind e mapeia para algumas tabelas. |
Este projeto é usado como um projeto suporte para os exemplo que usam os recursos do EF Core.
Os recursos usados para criar o projeto são:
Crie um projeto Console (.NET Core) no VS 2019 Community.
Inclua os seguinte pacotes no seu projeto:
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Esse projeto acessa o banco de dados Northwind.mdf do SQL Server que pode ser obtido neste link e mapeia as tabelas Categories, Products, Customers e Orders.
Crie uma pasta Models no projeto.
Na pasta Models crie as seguintes classes:
1- Classe Category
public partial class Category { public Category() { Products = new HashSet<Product>(); } public int CategoryId { get; set; }
public string CategoryName { get; set; }
public string Description { get; set; }
public byte[] Picture { get; set; }
public virtual ICollection<Product> Products { get; set; } } |
2- Classe Product
public partial class Product { public int ProductId { get; set; } public string ProductName { get; set; } public int? SupplierId { get; set; } public int? CategoryId { get; set; } public string QuantityPerUnit { get; set; } public decimal? UnitPrice { get; set; } public short? UnitsInStock { get; set; } public short? UnitsOnOrder { get; set; } public short? ReorderLevel { get; set; } public bool Discontinued { get; set; } public virtual Category Category { get; set; } } |
3- Classe Customer
public partial class Customer { public Customer() { Orders = new HashSet<Order>(); } public string CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
public string ContactTitle { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
|
4- Classe Order
public partial class Order
{
public int OrderId { get; set; }
public string CustomerId { get; set; }
public int? EmployeeId { get; set; }
public DateTime? OrderDate { get; set; }
public DateTime? RequiredDate { get; set; }
public DateTime? ShippedDate { get; set; }
public int? ShipVia { get; set; }
public decimal? Freight { get; set; }
public string ShipName { get; set; }
public string ShipAddress { get; set; }
public string ShipCity { get; set; }
public string ShipRegion { get; set; }
public string ShipPostalCode { get; set; }
public string ShipCountry { get; set; }
public virtual Customer Customer { get; set; } } |
5- Classe AppDbContext
public class AppDbContext : DbContext { public AppDbContext() { } public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } public virtual DbSet<Customer> Customers { get; set; } public virtual DbSet<Order> Orders { get; set; } public virtual DbSet<Product> Products { get; set; } public virtual DbSet<Category> Categories { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder
.UseSqlServer(@"Data Source=Macoratti;Initial Catalog=Northwind;Integrated Security=True");
}
}
|
Nota: A string de conexão usada aqui é apenas um exemplo, use a do seu ambiente.
Pronto o projeto esta pronto para ser usado acessando na instância do SQL Server local o banco de dados Northwind.
Pegue o projeto aqui: ConsoleEFCoreProjeto.zip (sem as referências)
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
C# - StreamReader, StringReader e TextReader . Qual a ... - Macoratti
C# - Imprimindo um arquivo texto - Macoratti
C# - Usando OpenFileDialog - Macoratti
C# - Formatando arquivos textos - Macoratti