Why do async_network_io wait types occur?
ASYNC_NETWORK_IO somehow indicates that the client application isn't processing results as fast as SQL Server feeds them. This could be caused by an issue with the client application or with the network connection between the server and the client application.

Please refer to a post by Thomas LaRock


  The ASYNC_NETWORK_IO wait indicates that one of two scenarios are
  happening. The first scenario is that the session (i.e., SPID) is
  waiting for the client application to process the result set and send
  a signal back to SQL Server that it is ready to process more data. The
  second is that there may be a network performance issue.


or this post by Joe Sack


  As you may already be aware, the ASYNC_NETWORK_IO (seen in SQL 2005)
  and NETWORKIO (seen in SQL 2000) wait types are associated with either
  a calling application that is not processing results quickly enough
  from SQL Server or is associated with a network performance issue.


Since you are using entity framework this post by Brent Ozar  may be useful too


  Looking at the wait stats for these queries, I saw there was a lot of
  ASYNC_NETWORK_IO — often 1000+ milliseconds. That didn’t make any
  sense either! How can a query with so little CPU time and so few reads
  take so long to complete? It’s not like the application was asking for
  millions of rows and couldn’t consume the results fast enough.