none
Where com apenas count entre "2006-12-31" até ano anterior da data atual RRS feed

  • Pergunta

  • Alguém teria alguma sugestão no código abaixo para retornar apenas os meses entre a data "2006-12-31" e as data_Contato do ano anterior?

     public ActionResult RetornaMes()
            {
    
                Nullable<DateTime> data = Convert.ToDateTime("2006-12-31");
    
                var query = from OJ_Prod_AARH in db.OJ_Prod_AARH
                            where OJ_Prod_AARH.data_Contato > data                              
                            group OJ_Prod_AARH by new
                            {
                                OJ_Prod_AARH.data_Contato.Value.Month
                            } into g
                            
                            select new
                            {
                                Mes = g.Key.Month,
                                Numero = g.Count(p => p.cod_PF != null)
                            };
    
                var l = query.OrderBy(c => c.Mes).ToList();
    
                return Json(l, JsonRequestBehavior.AllowGet);
            }



    • Editado Wilson Boris sexta-feira, 2 de maio de 2014 17:07 complemento
    sexta-feira, 2 de maio de 2014 14:41

Respostas

Todas as Respostas

  • Boa noite,

    Me parece que você está utilizando Linq, e não tenho nenhuma experiência com Linq, mas experimente fazer um teste dessa forma:

                Nullable<DateTime> dataIni = Convert.ToDateTime("2006-12-31");
                Nullable<DateTime> dataFim = new DateTime(DateTime.Date.Year(), 1, 1);
    
                var query = from OJ_Prod_AARH in db.OJ_Prod_AARH
                            where OJ_Prod_AARH.data_Contato > dataIni 
                            and OJ_Prod_AARH.data_Contato < dataFim           

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    sexta-feira, 2 de maio de 2014 21:38
  • gapimex,

    Está apresentando o erro abaixo:

    Nullable<DateTime> dataIni = Convert.ToDateTime("2006-12-31"); Nullable<DateTime> dataFim = new DateTime(DateTime.Date.Year(), 1, 1); var query = from OJ_Prod_AARH in db.OJ_Prod_AARH where OJ_Prod_AARH.data_Contato >dataIni && OJ_Prod_AARH.data_Contato < dataFim

    Error 3 An object reference is required for the non-static field, method, or property 'System.DateTime.Date.get'

    sábado, 3 de maio de 2014 13:16
  • Experimente alterar a linha abaixo:

                Nullable<DateTime> dataFim = new DateTime(DateTime.Date.Year, 1, 1);

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    sábado, 3 de maio de 2014 14:10
  • Ainda não:

    Error 3

    An object reference is required for the non-static field, method, or property 'System.DateTime.Date.get'

    domingo, 4 de maio de 2014 11:17
  • Experimente dessa forma:

               Nullable<DateTime> dataFim = new DateTime(DateTime.Today.Year, 1, 1);

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Wilson Boris segunda-feira, 5 de maio de 2014 12:49
    segunda-feira, 5 de maio de 2014 12:34
  • Valeu amigo, muito obrigado, 100% certinho.
    segunda-feira, 5 de maio de 2014 12:49