丢失数据.Where(表达式)列表()

时间:2013-01-29 15:16:30

标签: asp.net-mvc-4 entity-framework-5

Func<View_Album_Search, bool> expressionAlbum = Al => Al.name.Contains(text) || Al.soundName.Contains(text) || Al.artist.Contains(text);

var query = view_Album_SearchRepository.Where(expressionAlbum); 

var b = query.Count(); (*Count = 1440*)
                        (*Lose data *)
var a = query.ToList(); (*Count = 154*)

           /***************************************************\

 public IEnumerable<TEntity> Where(Func<TEntity, bool> predicate)
    {
        return _context.Set<TEntity>().Where(predicate);
    }

MODEL

 public partial class View_Album_Search
{
    public string name { get; set; }
    public decimal id_album { get; set; }
    public string soundName { get; set; }
    public string artist { get; set; }
    public byte feature { get; set; }
    public Nullable<System.DateTime> album_date { get; set; }
    public Nullable<decimal> hits { get; set; }
    public string artist_twitter { get; set; }
    public Nullable<int> feature_order { get; set; }
    public string video_url { get; set; }
}

我不明白,如果我这样做,一切正常。 有条件的信息 在调试模式下,当他执行.toList()时,他再次执行exrpessionAlbum

1 个答案:

答案 0 :(得分:0)

Func<View_Album_Search, bool> expressionAlbum = Al => Al.name.ToLower().Contains(text.ToLower()) || Al.artist.ToLower().Contains(text.ToLower());