none
Como extrair valor de consulta Linq.IQueryble? RRS feed

  • Pergunta

  • Gostaria de extrair os valores de minha consulta Linq e inserir em uma classe.

    Operação de quero realizar: 

    DataContext db = new DataContext();

    Usuario u = new Usuario(); 

    var temU = db.usuarios.Where(s =>s.Login == "elisamuel");

    u = temU;

    Classe Usuário: 

        public class Usuarios
        {   
            
            
            public int Id
            {
                get;
                set;
            }
    
            public string Senha
            {
                get;
                set;
            }
    
            public string UrlImg
            {
                get;
                set;
            }
    
            public string Nome
            {
                get;
                set;
            }
    
    
            public string Login
            {
                get;
                set;
            }
    
            public int SessaoID
            {
                get;
                set;
            }
            [ForeignKey("SessaoID")]
            public virtual Sessoes sessoes { get; set; }
    
            public int FilialID
            {
                get;
                set;
            }
            [ForeignKey("FilialID")]
            public virtual Filiais filial{get;set;}}

    Classe DataContext :

    public class DataContext : DbContext { public DataContext() : base(nameOrConnectionString: "Conexao") { }

     public DbSet<Usuarios> usuarios { get; set; } }

    Alguem sabe me dizer uma forma de pegar os valores de uma consulta com Where no linq e passa para um objeto?

    terça-feira, 6 de dezembro de 2016 16:16

Respostas

  • Se sua consulta irá retornar apenas um registro, você pode utilizar o Single ao invés do Where.

    DataContext db = new DataContext();
    Usuario u = db.usuarios.Single(s =>s.Login == "elisamuel");

    Mas se realmente precisar fazer uma cópia entre objetos (cópia de valores e não mudança de referência), terá que fazer manualmente (propriedade por propriedade) ou utilizar reflection.


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    terça-feira, 6 de dezembro de 2016 16:19

Todas as Respostas

  • Se sua consulta irá retornar apenas um registro, você pode utilizar o Single ao invés do Where.

    DataContext db = new DataContext();
    Usuario u = db.usuarios.Single(s =>s.Login == "elisamuel");

    Mas se realmente precisar fazer uma cópia entre objetos (cópia de valores e não mudança de referência), terá que fazer manualmente (propriedade por propriedade) ou utilizar reflection.


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    terça-feira, 6 de dezembro de 2016 16:19
  • Vlw cara, resolveu aqui, showw!!
    terça-feira, 6 de dezembro de 2016 16:31