Entity Framework Poor COUNT Performance

后端 未结 2 635
挽巷
挽巷 2021-01-06 05:45

We are experiencing very poor performance using Entity Framework 5.0 with MySql Connector 6.6.6.0 for count based queries. Our data structure looks like:

Table: P         


        
2条回答
  •  不思量自难忘°
    2021-01-06 06:38

    Try

    var count = entities.Post.Where(p => 
           p.SiteID == 1 && p.CreatedDate != null).Query().Count();
    

    http://msdn.microsoft.com/en-us/data/jj574232.aspx

    Has this at the bottom of the page:

    Using Query to count related entities without loading them

    Sometimes it is useful to know how many entities are related to another entity in the database without actually incurring the cost of loading all those entities. The Query method with the LINQ Count method can be used to do this. For example:

    using (var context = new BloggingContext()) 
    { 
        var blog = context.Blogs.Find(1); 
    
        // Count how many posts the blog has  
        var postCount = context.Entry(blog) 
                              .Collection(b => b.Posts) 
                              .Query() 
                              .Count(); 
    }
    

提交回复
热议问题