using Microsoft.EntityFrameworkCore.Migrations;
namespace Alura.Loja.Testes.ConsoleApp.Migrations { public partial class Promocao : Migration { protected override void Up(MigrationBuilder migrationBuilder) {
}
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}
using System.Collections.Generic;
namespace Alura.Loja.Testes.ConsoleApp { public class Produto { public int Id { get; internal set; } public string Nome { get; internal set; } public string Categoria { get; internal set; } public double PrecoUnitario { get; internal set; } public string Unidade { get; internal set; }
public IList<PromocaoProduto> Promocoes { get; set; }
public override string ToString()
{
return $"Produto: {this.Id}, {this.Nome}, {this.Categoria}, {this.PrecoUnitario}";
}
}
}
using System; using System.Collections.Generic;
namespace Alura.Loja.Testes.ConsoleApp { public class Promocao { public int Id { get; set; } public string Descricao { get; internal set; } public DateTime DataInicio { get; internal set; } public DateTime DataTermino { get; internal set; } public IList Produtos { get; internal set; } } }
namespace Alura.Loja.Testes.ConsoleApp { public class PromocaoProduto { public int ProdutoId { get; set; } public Produto produto { get; set; } public int PromocaoId { get; set; } public Promocao Promocao { get; set; } } }
using Microsoft.EntityFrameworkCore; using System;
namespace Alura.Loja.Testes.ConsoleApp { public class LojaContext : DbContext { public DbSet Produtos { get; set; } public DbSet Compras { get; set; } public DbSet Promocoes { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<PromocaoProduto>()
.HasKey(pp => new { pp.PromocaoId, pp.ProdutoId });
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string conn = @"Data Source=BOZZ-PC\SQLEXPRESS;Database=LocalDB_Entity;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
optionsBuilder.UseSqlServer(conn);
}
}
}