2
respostas

Como chamar o banco de dados, contexto, dentro de um método estático?

  public static List<TestUser> GetUsuario()
        {

            List<Usuario> Usuarios = contexto.Usuarios.ToList();

            List<TestUser> ListaUsuarios = new List<TestUser>();


            foreach (var item in Usuarios)
            {

                TestUser Usuario = new TestUser();

                Usuario.SubjectId = item.Login;

                Usuario.Username = item.Login;

                Usuario.Password = item.Login;

                ListaUsuarios.Add(Usuario);
            }

            return ListaUsuarios;

        }

2 respostas

Eu tenho que buscar algo do contexto e colocar em um método estático. Só que o banco de dados não é estatico.

Oi Caio, tudo bom?

Você pode passar o contexo por parametro no método estático ao invocá-lo. Algo como:

  public static List<TestUser> GetUsuario(Context contexto)
        {

            List<Usuario> Usuarios = contexto.Usuarios.ToList();

            List<TestUser> ListaUsuarios = new List<TestUser>();


            foreach (var item in Usuarios)
            {

                TestUser Usuario = new TestUser();

                Usuario.SubjectId = item.Login;

                Usuario.Username = item.Login;

                Usuario.Password = item.Login;

                ListaUsuarios.Add(Usuario);
            }

            return ListaUsuarios;

        }

Assim, não importa o contexto não ser estático dentro da classe. Porém, é um pouco estranho um método estático dentro de um DAO/Repository. Realmente existe a necessidade de tornar esse método estático? Qual é a ideia?

Abraço