none
Gostaria de saber a diferença entre os dois códigos abaixo. RRS feed

  • Pergunta

  • Os dois códigos funcionam bem mas como escolher entre um ou outro, e porque?

        public ViewResult Index()
        {
          return View(db.Movies.ToList());
        }
    e
    
        public ViewResult Index()
        {
          var movies = from m in db.Movies
                 select m;
    
          return View(movies);
        }
    

    quarta-feira, 18 de maio de 2011 01:47

Respostas

  • O código tem o msm retorno praticamente. Normalmente usamos linq quando queremos filtrar algo, no seu caso vc nao esta usando nenhum condicional pode colocar diretamente como na primeira chamada.


    1000ton Analista de Sistema Plastripel - Barretos @MiltonFilho
    • Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    quinta-feira, 19 de maio de 2011 17:30
  • Gustavo,

    adorei sua colocação porém vou aguardar maiores comentários para ver se fica mais claro.

    Novas dúvidas:

    1. O Linq to sql será substituído pelo Linq to entities or not?
    2. Como me certificar se não vou estar adotando uma tecnologia que será aposentada em breve?

    Nota: Faço meus estudos em cima do MVC 3.


    Bruno,

    Uma das premissas do MVC é justamente separar as camadas da aplicação.

    Se você separar seu "Model", da camada de apresentação "View" e controle "Control" você poderá reescrevê-lo usando a nova tecnologia e substituí-lo na implementação sem maiores traumas.

     


    • Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    quinta-feira, 19 de maio de 2011 18:54
    Moderador

Todas as Respostas

  • Me corrijam se eu estiver errado.

    Mas o primeiro caso faz acesso a dados com Entity Framework e o segundo com LINQ to SQL.

    Agora.. qual a diferença em relação a performance eu não sei.

    Vou aguardar alguem com mais experiencia nos ajudar :)

     

    LINQ:

    http://www.asp.net/mvc/tutorials/creating-model-classes-with-linq-to-sql-cs

    EF:

    http://www.asp.net/mvc/tutorials/creating-model-classes-with-the-entity-framework-cs

    IEnumerable vs List:

    http://pt.w3support.net/index.php?db=so&id=1211491

    http://pt.w3support.net/index.php?db=so&id=376708

    quarta-feira, 18 de maio de 2011 17:02
  • Gustavo,

    adorei sua colocação porém vou aguardar maiores comentários para ver se fica mais claro.

    Novas dúvidas:

    1. O Linq to sql será substituído pelo Linq to entities or not?
    2. Como me certificar se não vou estar adotando uma tecnologia que será aposentada em breve?

    Nota: Faço meus estudos em cima do MVC 3.

    • Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    • Não Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    quarta-feira, 18 de maio de 2011 17:17
  • O código tem o msm retorno praticamente. Normalmente usamos linq quando queremos filtrar algo, no seu caso vc nao esta usando nenhum condicional pode colocar diretamente como na primeira chamada.


    1000ton Analista de Sistema Plastripel - Barretos @MiltonFilho
    • Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    quinta-feira, 19 de maio de 2011 17:30
  • Gustavo,

    adorei sua colocação porém vou aguardar maiores comentários para ver se fica mais claro.

    Novas dúvidas:

    1. O Linq to sql será substituído pelo Linq to entities or not?
    2. Como me certificar se não vou estar adotando uma tecnologia que será aposentada em breve?

    Nota: Faço meus estudos em cima do MVC 3.


    Bruno,

    Uma das premissas do MVC é justamente separar as camadas da aplicação.

    Se você separar seu "Model", da camada de apresentação "View" e controle "Control" você poderá reescrevê-lo usando a nova tecnologia e substituí-lo na implementação sem maiores traumas.

     


    • Marcado como Resposta Bruno de Moura sexta-feira, 20 de maio de 2011 11:35
    quinta-feira, 19 de maio de 2011 18:54
    Moderador