INSTANCIAR UM CONTEXTO WEBAPI NET.CORE

 Tópico anterior Próximo tópico Novo tópico

INSTANCIAR UM CONTEXTO WEBAPI NET.CORE

C#

 Compartilhe  Compartilhe  Compartilhe
#485023 - 23/10/2018 10:51:27

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá.

Estou aprendendo sobre WEBAPI NET. CORE e na minhas Controller estou fazendo injeção do Contexto através de uma configuração na minha classe Startup  conforme abaixo:

Meu construtor do Contexto:

  public class ContextFiscal : DbContext
    {
        public ContextFiscal(DbContextOptions<ContextFiscal> options) : base(options)
        {
            
        }....  


Minha configuração na classe Startup:

  public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddDbContext<ContextFiscal>(Options => Options.UseSqlServer(Configuration.GetConnectionString("ConDB")));
            
        }  


Minha dúvida é como faço para estanciar um novo contexto (fora das controller) já tentei criar um novo construtor no contexto mais estou com dificuldade com a string de conexão (passar Options).

Em uma das minhas classes da WEBAPI preciso fazer uma verificação no banco de dados, mas tem que ser uma estancia diferente que veio das Controller, alguém pode me ajudar.

Desde já agradeço.




#485025 - 23/10/2018 11:37:18

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


  

public class MinhaController : ApiController
{
      private MeuContexto db = new MeuContexto();

      [HttpGet]
      Public List<String> Get()
      {
           return db.Algo.ToList();
      }

}





#485026 - 23/10/2018 12:37:07

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá Guimoraes.

Obrigado por responder, mas não é essa minha dúvida, conforme expliquei não tenho dúvidas nas controller.

Nas controller estou fazendo injeção de dependência do contexto, o problema é instanciar o contexto sem injeção de dependência em uma classe que não é controller.




#485031 - 23/10/2018 14:31:49

MRSILVA
MARINGA
Cadast. em:Julho/2015


Última edição em 23/10/2018 14:33:23 por MRSILVA

Olá.

Estava com dificuldade de passar o parâmetro na instancia do contexto, mas agora descobri como é feito, vou deixar como é feito para caso alguém precise.

Obrigado a todos que tentaram me ajudar.

Instanciar um contexto:

private Controle Get(int id)
            {
            
            var optionsBuilder = new DbContextOptionsBuilder<SeuContexto>();
            optionsBuilder.UseSqlServer("SuaStringConexao");
            using (SeuContexto _Db = new SeuContexto(optionsBuilder.Options))
            {
                return _Db.Controle.Where(a => a.Id == id).FirstOrDefault();
            }
          
        }  





 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MRSILVA em 23/10/2018 16:15:38