2016-08-04 11 views
1

Ich versuche, das in einer LINQ-Abfrage generierte SQL anzuzeigen.View SQL Wird generiert, wenn LINQ in ASP.NET Core verwendet

Question GetLatestPoll = 
    _contextService 
    .Find<Question>(q => q.Status == PollStatus.Open || (q.Status == PollStatus.Review) 
     && ((q.Availability == PollAvailability.All) 
     || (q.Availability == PollAvailability.Company && q.User.ClientId == currentUser.ClientId) 
     || (q.Availability == PollAvailability.Company && q.User.DepartmentId == currentUser.DepartmentId)) 
     && !q.Answers.Any(a=>a.UserId == currentUser.Id)) 
    .Include(q => q.Options) 
    .OrderByDescending(q => q.CreatedAt) 
    .FirstOrDefault(); 

Ich wollte

Aber der Name Kontext existiert nicht im Kern etwas wie var sql =Context.GetCommand(GetLatestPoll).CommandText; verwenden.

`

Antwort

1

Ich kann nicht sicher sagen, über .NET-Core, aber der LINQ2SQL Datenkontext hat eine Log Eigenschaft, auf denen Sie ein TextWriter Objekt zuweisen können, die die SQL-Ausgabe erhalten werden.