2013-08-13 5 views
0

У меня есть список пользователей, которых я хотел бы кэшировать в течение определенного времени, но у меня возникают проблемы с подключением к моей модели при получении пользователей.кэширование коллекции пользователей

В моем уровне услуг:

public IEnumerable<Clients> GetClientVw(int sessionID) 
      { 
       var _key = GetVwCacheKey(sessionID); 
       if (_cacheManager.Exists(_key, _cacheSettings.Group)) 
       { 
        return _cacheManager.Get<Clients>(_key, _cacheSettings.AbsoluteExpiration.AddHours(1.0).ToString()); 
       } 
       var _result = GetClients(sessionID); 
       if (_result != null) 
       { 
        var _clientVw = _result.ClientsVw(); 
        _cacheManager.Set<ClientsVw>(_key, _clientVw, _cacheSettings); 
        return _clientVw; 
       } 

       return null; 
      } 

Это то, что я имею в моей модели:

public class ClientsVw 
    { 
     public ClientsVw() 
     { 
      this.Clients = new HashSet<Clients>(); 
     } 
     public IEnumerable<Clients> ClientsList { get; set; } 
    } 

    public class Clients 
    { 
     public int ID { get; set; } 
     public string Name { get; set; } 
     public string Email { get; set; } 
    } 

Ошибки: в моем return _cacheManager.Get<Clients> он говорит мне, что я не хватает бросок, потому что я не может конвертировать из клиентов в IEnumerable

И в var _clientVw = _result.ClientVw(); говорится, что у меня нет определения для ClientV ш()

ответ

0

ДЛЯ он говорит мне, что я не хватает бросок, потому что я не могу конвертировать из клиентов в IEnumerable

вы можете попробовать сделать это в список

return _cacheManager.Get<Clients>(_key, _cacheSettings.AbsoluteExpiration.AddHours(1.0).ToString()).ToList(); 
+0

в список не рассматривается как возможность показывает только ToString() – Masriyah

Смежные вопросы