Using a LINQ query I need to export to Excel when a WebApi method is called. I have built the LINQ query that will return the correct data, now I need it to export to .csv or Excel file format.
I have tried using MemoryStream and StreamWriter but I think I am just chasing my tail now. 
[HttpGet]
[Route("Download")]
public Task<IActionResult> Download(int memberId)
{
    var results = (from violations in _db.tblMappViolations
                   where violations.MemberID == memberId
                   select new IncomingViolations
                       {
                           Contact = violations.ContactName,
                           Address = violations.str_Address,
                           City = violations.str_City,
                           State = violations.str_State,
                           Zip = violations.str_Zipcode,
                           Country = violations.str_Country,
                           Phone = violations.str_Phone,
                           Email = violations.str_Email,
                           Website = violations.str_WebSite,
                       }).FirstOrDefault();
    MemoryStream stream = new MemoryStream(results);
    StreamWriter writer = new StreamWriter(stream);    
    writer.Flush();
    stream.Position = 0;
    FileStreamResult response = File(stream, "application/octet-stream"); 
    response.FileDownloadName = "violations.csv";
    return response;
}
 
     
     
     
    