2015-04-14 47 views
1

我得到一個錯誤,我不知道如何解決它,這是我的代碼:與AnonymousType ASP.NET MVC問題

var respaldos = db.Respaldoes.Where(x => x.type == "Backup"); 

if (con_filtro_fecha) 
    respaldos = respaldos.Where(x => x.start_time >= _desde && x.start_time <= _hasta); 

if (con_agrupacion) 
{ 
    switch (agrupar) 
    { 
     case "dia": 
      respaldos = respaldos.GroupBy(x => new{ 
        x.start_time.Year, 
        x.start_time.Month, 
        x.start_time.Day 
       }) 
       .Select(x => new{ 
        anio = x.Key.Year, 
        mes = x.Key.Month, 
        dia = x.Key.Day, 
        bytes = x.Sum(y => y.bytes_processed) 
       }).AsEnumerable(); 
      break; 
     case "mes": 
      respaldos = respaldos.GroupBy(x => new{ 
        x.start_time.Year, 
        x.start_time.Month 
       }) 
       .Select(x => new{ 
        anio = x.Key.Year, 
        mes = x.Key.Month, 
        bytes = x.Sum(y => y.bytes_processed) 
       }).AsEnumerable(); 
      break; 
    } 
} 

如何解決,我在「AsEnumerable得到錯誤() 「? 或者如果這是不可能的,我可以做什麼?

錯誤:

No se puede convertir implícitamente el tipo System.Collections.Generic.IEnumerable AnonymousType#1 en System.Linq.IQueryable RespaldoServidores.Models.Respaldo . Ya existe una conversión explícita (compruebe si le falta una conversión)

+0

什麼是變量'respaldos'的聲明? –

+0

var respaldos = db.Respaldoes.Where(x => x.type ==「Backup」); –

回答

2

當你調用AsEnumerable你有2個問題。

首先,respaldos最初是IQueryable<T>,所以您不能爲其指定Enumerable<T>

其次,元素類型是不同的。我不確定respaldos包含哪些類型的元素,但它不會與查詢中的匿名類型相同。