ASP.NET Core WEB API e SQLServer.

ASP.NET Core Web API é um framework que tem como principal finalidade dispor serviços HTTP com restpara os diversos dispositivos como celulares, tablets, etc., onde tais dispositivos possam se conectar e consumir informações. O padrão hoje em dia mais utilizado pra o trafego de informações é no formato JSON (ou pode serXML) que seria o formato mais simples e performático.
Essa forma veio como um substituto ao WebService que tinha uma arquitetura pesada e custosa para o tráfego de informações e a integração é bem simples, pouco importa quem vai conectar e/ou consumir, se é feito em uma linguagem pode ser consumida em outra sem problema, e isso tem um papel fundamental no desenvolvimento de sistemas.
DEMONSTRAÇÃO: ASP.NET Core WEB API com Camada DAL sem utilização de ORM.
Primeiramente vamos construir uma camada DAL para disponibilizar conectividade com banco de dados SQLServer com System.Data.SqlClient.
Class Library DAL
File -> New -> Project

Escolha Class Library(.NetCore)

O nome escolhido daLibraryficou Site.Dal e ao término de criação do projeto é codificado as Interfacese as Class.
Tabela
O nome da tabela é Brand e possui dois campos:
- Id (inteiro e auto-incremento)
- Description(texto de 50 posições).

Código
- Interfaces: possui três
InterfaceaIConnection,IDal<T>eIDalBrand.
- Classes e Modelo: possui 2 implementação das respectivas
Interfacesa:Connection,DalBrande seu modeloBrand.
Esse código vai disponibilizar toda a conectividade com esse banco de dados e um CRUDcom a tabela Brand.
Observação: A criação de mais classes para efetuar operações em outras tabelas a partir desse momento ficou fácil só seguir a mesma lógica de desenvolvimento e codificar o que precisa.
O nosso próximo passo é criar um aplicação ASP NET Core Web API
ASPNET Core Web API
File -> New -> Project

Escolha ASP.NET Core Web Application(.NET CORE)

Escolha Web API

Quando o projeto terminar de ser criado, adicione um novo item o Web API Controller Classdentro da pasta Controller:

O nome para esse controller é BrandControllerque após sua criação o template gera um código padrão, que irá sofrer alterações mediante a adição do projeto da Class Library Site.Dalda seguinte forma.
Abra o arquivo project.json e adiciona na chave dependencies Site.Dal:1.0.0-* e espere o projeto aplicar as alterações (restore).
Logo, poderemos utilizar as Classcriadas e as suas Interfaces alterando a classe BrandController da seguinte maneira:
Com a implementação desse Controllerconfigure na aplicação a injeção de dependência para reconhecer e resolver Interfaces e suas Class.
Abra o arquivo Startup.cs no método ConfigureServices(IServiceCollection services) faça as seguintes codificações:
Observação no comentário //Add Class e Interfaces IOC logo abaixo são as configurações das classe interfacesimplementadas na Class Library do projeto Site.Dal. Existe também uma outra configuração no arquivo appsettings.json onde a chave ConnectionStrings recebe a configurações de conexão do banco SQLServer.
Com todo esse processo finalizado de programação temos a disposição um interface de comunicação simples e eficaz.
Como podemo testar se todos o métodos estão funcionando satisfatoriamente?
Utilize o PostMan para testar todos os verb (get, post, put e delete):
- Get lista todos os itens da tabela

- Post inserir registro na tabela

- Put alterar registro existente na tabela

- Delete excluir registro na tabela

Referencias:
