none
dúvida sobre transição de asp para asp.net RRS feed

  • Pergunta

  • e ai galera beleza?
    Então eu programo em asp a uns 2 meses :D mas já programava em php a uns 2~3 anos e estou com uma dúvida sobre como fazer as querys usando o Entity framework no Asp.Net MVC2 em C#.

    a problema é o seguinte:
    eu tenho um controller que retorna a view para o usuário fazer o login
    o action desse controller vai para outro controller que terá que retornar 
    "Bom Dia/Tarde/Noite + nome do usuário (que está no banco)" e também dois selects html com as empresas e os vendedores do usuário

    O primeiro problema que eu quero resolver é a parte de mostrar o nome do usuário o resto não importa(por enquanto)
    Em asp eu faria assim

     

    strSQL = "SELECT nome_user FROM tabela WHERE login = '" & login & "' AND senha = '" & senha & "' "
    objRS = objConn.Execute(strSQL)
    
    Response.Write("Bem Vindo" & objRS("nome_user"))
    dai eu fui fazendo e cheguei na seguinte "solução"
    <%
    // esse é meu action do controller
    //
    // POST: /Home/Selec_emp
        public ActionResult Autenticar(FormCollection form)
        {
          using (portalEntities dbPortal = new portalEntities())
          {
            var query = from s in dbPortal.usuarios
                  where s.usuario_login == form["login"] 
                  select s.usuario_nome;
            var viewModel = new AutenticarViewModel
            {
              nome = query.ToString()  
            };
            return View();
          }
        }
    
    %>
    // código da viewmodel
    <%
    public class AutenticarViewModel
      {
        public string nome { get; set; }
      }
    %>
    // e como eu estou tentando pegar o resultado na view
    
    <%: Model.nome %>
    

    ai ele retorna o seguinte erro

    "NullReferenceException was unhalded by user code, object reference not set to an instance of an object"

    queria saber o que estou fazendo de errado :S tenho certeza que é algo muito ridículo

     

    segunda-feira, 13 de setembro de 2010 12:30

Todas as Respostas

  • Tenta jogar a variável viewmodel no retorno da view

     

    return View(viewModel);


    1000ton - MSN: milton.filho@msn.com
    terça-feira, 14 de setembro de 2010 13:02
  • coloquei lá, dai usei o debugger e ta dizendo que o valor da query ta null :S
    terça-feira, 14 de setembro de 2010 17:30
  • Tenta assim:

     

      public
     ActionResult Autenticar(FormCollection form)
      {
       using
     (portalEntities dbPortal = new
     portalEntities())
       {
        usuarios usu = (from
     s in
     dbPortal.usuarios
           where
     s.usuario_login == form["login"
    ] 
           select
     s).FirstOrDefault();
      return View(usu); } }
    terça-feira, 14 de setembro de 2010 17:48
    Moderador
  • okfiz isso e na hora de pegar na view usei a view com herança de usuários e da um erro assim no action do controller

     


    LINQ to Entities does not recognize the method 'System.String get_Item(System.String)' method, and this method cannot be translated into a store expression.

    :S

    consegui até fazer as listas com todos os vendedores e empresas, para terminar falta só conseguir o nome do usuário e filtrar essas listas de acordo com o usuário

     

    me digam uma coisa, tem como fazer consultas no estilo do asp?
    do tipo um objConn.Execute(query) ou coisa do tipo?

    terça-feira, 14 de setembro de 2010 18:36