Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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
languagec#
firstline1
titleCountry.cs
linenumberstrue
[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
languagec#
firstline1
titleSampleDbContext
linenumberstrue
public class SampleDbContext : TnfDbContext
{
	public DbSet<Country> Countries { get; set; }

	public ArchitectureDbContext(DbContextOptions<SampleDbContext> options)
		: base(options)
	{
	}
}