...
Para isso através do Visual Studio 2017 vamos criar nosso projeto acessando: File -> New -> Project -> .NET Standard -> Class Library.
Após criar Com o projeto para termos suporte as funcionalidades do TNF criado vamos adicionar o seguinte pacote via nuget: Tnf.App.EntityFrameworkCore disponível em nosso package source: https://www.myget.org/F/tnf/api/v3/index.json
Podemos agora começar a criar nosso contexto e entidades de nosso banco de dados. Para isso vamos criar o modulo módulo que fará a configuração do uso do TNF para Entity Framework Core.
...
Podemos perceber em nosso módulo definido acima no atributo "DependsOn" fazendo referencia ao TnfAppEntityFrameworkCoreModule. Este módulo Essa dependência comporta toda a estrutura necessária para a utilização do Entity Framework Core.
Agora podemos definir nossa entidade que representará a tabela "Countries" em nosso exemplo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[AutoMap(typeof(CountryDto))]
[Table("Countries")]
public class Country : Entity
{
public const int MaxNameLength = 256;
[Required]
[MaxLength(MaxNameLength)]
public string Name { get; set; }
public Country()
{
}
public Country(int id, string name)
{
Id = id;
Name = name;
}
} |
A definição de nossa tabela pode ser feita usando atributos como no exemplo acima ou utilizando a FluentAPI do proprio Entity Framework Core para definir colunas e tipos de dados.
Note que temos uma herança para a classe Entity do TNF.
O atributo presente no exemplo AutoMap é um wrapper do TNF para uso do framework AutoMapper que fará o mapeamento automático da nossa tabela para o seu Dto.
Próximo passo é definir o DbContext fazendo a herança das classes do TNF TnfDbContext:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
public class SampleDbContext : TnfDbContext { public DbSet<Country> Countries { get; set; } public ArchitectureDbContext(DbContextOptions<SampleDbContext> options) : base(options) { } } |