Skip to content

Instantly share code, notes, and snippets.

Created September 6, 2017 21:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/b2f27e75c8e7b654a3d44bf09f82b00e to your computer and use it in GitHub Desktop.
Save anonymous/b2f27e75c8e7b654a3d44bf09f82b00e to your computer and use it in GitHub Desktop.
Classe Vendedor:
```
public partial class Vendedor
{
public long IdVendedor { get; set; }
public string Nome { get; set; }
public string CpfCnpj { get; set; }
public string RgIe { get; set; }
public string NomeRazao { get; set; }
public string Url { get; set; }
public string Obs { get; set; }
public DateTime Inclusao { get; set; }
public long IdUsuarioInc { get; set; }
public DateTime? Alteracao { get; set; }
public long? IdUsuarioAlt { get; set; }
public Usuario IdUsuarioIncNavigation { get; set; }
}
```
Entidade Vendedor:
```
CREATE TABLE [dbo].[Vendedor] (
[IdVendedor] BIGINT IDENTITY (1, 1) NOT NULL,
[Nome] NVARCHAR (250) NOT NULL,
[CpfCnpj] NVARCHAR (15) NOT NULL,
[RgIe] NVARCHAR (30) NULL,
[NomeRazao] NVARCHAR (250) NOT NULL,
[Url] NVARCHAR (250) NULL,
[Obs] NVARCHAR (250) NULL,
[Inclusao] DATETIME NOT NULL,
[Alteracao] DATETIME NULL,
CONSTRAINT [PK_Vendedor] PRIMARY KEY CLUSTERED ([IdVendedor] ASC)
CONSTRAINT [FK_Vendedor_Usuario] FOREIGN KEY ([IdUsuarioInc]) REFERENCES [dbo].[Usuario] ([IdUsuario])
);
```
Classe TipoVendedor:
```
public partial class TipoVendedor
{
public long IdTipoVendedor { get; set; }
public string Nome { get; set; }
public string Descricao { get; set; }
}
```
Entidade TipoVendedor:
```
CREATE TABLE [dbo].[TipoVendedor] (
[IdTipoVendedor] BIGINT IDENTITY (1, 1) NOT NULL,
[Nome] VARCHAR (50) NOT NULL,
[Descricao] VARCHAR (250) NOT NULL,
CONSTRAINT [PK_TipoVendedor] PRIMARY KEY CLUSTERED ([IdTipoVendedor] ASC)
);
```
Classe VendedorTipo:
```
public partial class VendedorTipo
{
public long IdVendedor { get; set; }
public long IdTipoVendedor { get; set; }
public long IdUsuarioInclusao { get; set; }
public DateTime Inclusao { get; set; }
public long? IdUsuarioInativo { get; set; }
public DateTime? Inativo { get; set; }
}
```
Entidade VendedorTipo:
```
CREATE TABLE [dbo].[VendedorTipo] (
[IdVendedor] BIGINT NOT NULL,
[IdTipoVendedor] BIGINT NOT NULL,
[IdUsuarioInclusao] BIGINT NOT NULL,
[Inclusao] DATETIME NOT NULL,
[IdUsuarioInativo] BIGINT NULL,
[Inativo] DATETIME NULL,
CONSTRAINT [PK_VendedorTipo_TipoVendedor] PRIMARY KEY CLUSTERED ([IdVendedor] ASC, [IdTipoVendedor] ASC)
);
```
Contexto gerado do DbContext:
```
public virtual DbSet<Vendedor> Vendedor { get; set; }
public virtual DbSet<TipoVendedor> TipoVendedor { get; set; }
public virtual DbSet<VendedorTipo> VendedorTipo { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Vendedor>(entity =>
{
entity.HasKey(e => e.IdVendedor);
entity.Property(e => e.Alteracao).HasColumnType("datetime");
entity.Property(e => e.CpfCnpj)
.IsRequired()
.HasMaxLength(15);
entity.Property(e => e.Inclusao).HasColumnType("datetime");
entity.Property(e => e.Nome)
.IsRequired()
.HasMaxLength(250);
entity.Property(e => e.NomeRazao)
.IsRequired()
.HasMaxLength(250);
entity.Property(e => e.Obs).HasMaxLength(250);
entity.Property(e => e.RgIe).HasMaxLength(30);
entity.Property(e => e.Url).HasMaxLength(250);
entity.HasOne(d => d.IdUsuarioIncNavigation)
.WithMany(p => p.Vendedor)
.HasForeignKey(d => d.IdUsuarioInc)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_Vendedor_Usuario");
});
modelBuilder.Entity<TipoVendedor>(entity =>
{
entity.HasKey(e => e.IdTipoVendedor);
entity.Property(e => e.Descricao)
.IsRequired()
.HasMaxLength(250)
.IsUnicode(false);
entity.Property(e => e.Nome)
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false);
});
modelBuilder.Entity<VendedorTipo>(entity =>
{
entity.HasKey(e => new { e.IdVendedor, e.IdTipoVendedor });
entity.Property(e => e.Inativo).HasColumnType("datetime");
entity.Property(e => e.Inclusao).HasColumnType("datetime");
});
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment