Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
VS 2013 can not evaluate expression
Message
De
08/08/2014 19:07:51
 
 
Information générale
Forum:
ASP.NET
Catégorie:
Problèmes
Versions des environnements
Environment:
C# 4.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Divers
Thread ID:
01605242
Message ID:
01605360
Vues:
41
This message has been marked as a message which has helped to the initial question of the thread.
>Hi Rob,
>
>May be you can also explain this strange code to me
>
>
>exec sp_executesql N'SELECT TOP (2) 
>    [Extent1].[op_code] AS [op_code], 
>    [Extent1].[first_name] AS [first_name], 
>    [Extent1].[last_name] AS [last_name], 
>    [Extent1].[password] AS [password], 
>    other columns
>
>    FROM [dbo].[operator] AS [Extent1]
>    WHERE [Extent1].[op_code] = @p0',N'@p0 varchar(8000)',@p0='333333'
>
>this is happening when I select an operator in the grid. I don't understand where the TOP(2) come from. I also would very much like to use the @p0 defined as char(6) instead of
>varchar(8000).
>
>The _dbSet.Find(id) method is being executed here.

Find (and Single) will throw an error if there are two entries with the same key. The top 2 is to check for a duplicate entry. See the first exception at http://msdn.microsoft.com/en-us/library/gg696418%28v=vs.113%29.aspx

The use of varchar(8000) is to allow caching of the query plan as far as I can tell. See http://stackoverflow.com/questions/6538746/why-does-code-first-ef-use-nvarchar4000-for-strings-in-the-raw-sql-command
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform