c# - Why is this query resolving to a DataQuery -


I have a linq for the SQL query that receives all my logs for the current hour (Iqueryable form stores):

  from dll in currentLogs = cDataContext.DownloadLogs where dll.DTS.Hour == select DateTime.Now.Hour dll  

and Then I have another question (it is also stored as an Iqueryable) that the log is currently being processed, and at that time the slot is visible on the log.

  notDownloadedIds = (where (in the dll Select CurrentLogs the X cDataContext.CategoryCountryCategoryTypeMappings dll.CategoryCountryCategoryTypeMappingID). This includes (x.CategoryCountryCategoryTypeMappingID) x Select); The  

When I then would extend debug and hover over the existing laws, do I get a SQL query, when I download do not use I that I currently logged For refactoring non-loaded IDs, the downloaded EDS remains in the form of SQL queries rather than a data line. Why does notDownloadedIds stay in the form of a SQL query, and / or I can find it how to stay that way.

If I do not get the problems down I used it in a method when used below.

After using Sanders Advice, I have found out the generated SQL statement

  select ccc. [CategoryCountryCategoryTypeMappingID], CCC. [CountryID], CCC. [CategoryID], CCC. [CategoryTypeID], CCC. [URLSegment], CCC [DTS], CCC. [DTSUTC] from [Store] [CategoryCountryCategoryTypeMappings] Select from where CCC exists ([dbo] *. [DownloadLog] as [t1] ou ([t1]. [CategoryCountryCategoryTypeMappingID]  [CategoryCountryCategoryTypeMappingID] CCC) and (DatePart (h, [t1] [DTS])) = (DatePart (h, GETDATE ())))  

I need current changes .... columns & lt;> column , Where not present ..... column = column Is it possible to do this without solving a dataquiry?

There are subtle issues where you lose the direct-to-SQL mapping (without diving into the details I remember that . Command () misses problematic), I advise you to try to reconfigure your query in a different form, for example:

  notDownloadedIds = cDataContext.CategoryCountryCategoryTypeMappings.Where (mapping = & gt ;! currentLogs.Select (dll = & gt; dll.CategoryCountryCategoryTypeMappingID) .Any (ID = & gt; ID == mapping.categoryCountryCategoryTypeMappingID))  

If I read your code correctly, then there should be an equivalent query as well. Has this also been converted into data scale?


Comments