懒羊羊
2023-12-28 e46d3baaf3e8d7d85f4bafec3aad75e52b078408
提交 | 用户 | 时间
e46d3b 1 <?xml version="1.0"?>
2 <doc>
3     <assembly>
4         <name>EntityFramework.SqlServer</name>
5     </assembly>
6     <members>
7         <member name="T:System.Data.Entity.SqlServer.IDbSpatialValue">
8             <summary>
9             Adapter interface to make working with instances of <see cref="T:System.Data.Entity.Spatial.DbGeometry"/> or <see cref="T:System.Data.Entity.Spatial.DbGeography"/> easier.
10             Implementing types wrap instances of DbGeography/DbGeometry and allow them to be consumed in a common way.
11             This interface is implemented by wrapping types for two reasons:
12             1. The DbGeography/DbGeometry classes cannot directly implement internal interfaces because their members are virtual (behavior is not guaranteed).
13             2. The wrapping types ensure that instances of IDbSpatialValue handle the <see cref="T:System.NotImplementedException"/>s thrown
14             by any unimplemented members of derived DbGeography/DbGeometry types that correspond to the properties and methods declared in the interface.
15             </summary>
16         </member>
17         <member name="T:System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy">
18             <summary>
19             An <see cref="T:System.Data.Entity.Infrastructure.IDbExecutionStrategy"/> that doesn't affect the execution but will throw a more helpful exception if a transient failure is detected.
20             </summary>
21         </member>
22         <member name="M:System.Data.Entity.SqlServer.IDbSpatialValueExtensionMethods.AsSpatialValue(System.Data.Entity.Spatial.DbGeography)">
23             <summary>
24             Returns an instance of <see cref="T:System.Data.Entity.SqlServer.IDbSpatialValue"/> that wraps the specified <see cref="T:System.Data.Entity.Spatial.DbGeography"/> value.
25             IDbSpatialValue members are guaranteed not to throw the <see cref="T:System.NotImplementedException"/>s caused by unimplemented members of their wrapped values.
26             </summary>
27             <param name="geographyValue"> The geography instance to wrap </param>
28             <returns>
29             An instance of <see cref="T:System.Data.Entity.SqlServer.IDbSpatialValue"/> that wraps the specified geography value
30             </returns>
31         </member>
32         <member name="M:System.Data.Entity.SqlServer.IDbSpatialValueExtensionMethods.AsSpatialValue(System.Data.Entity.Spatial.DbGeometry)">
33             <summary>
34             Returns an instance of <see cref="T:System.Data.Entity.SqlServer.IDbSpatialValue"/> that wraps the specified <see cref="T:System.Data.Entity.Spatial.DbGeometry"/> value.
35             IDbSpatialValue members are guaranteed not to throw the <see cref="T:System.NotImplementedException"/>s caused by unimplemented members of their wrapped values.
36             </summary>
37             <param name="geometryValue"> The geometry instance to wrap </param>
38             <returns>
39             An instance of <see cref="T:System.Data.Entity.SqlServer.IDbSpatialValue"/> that wraps the specified geometry value
40             </returns>
41         </member>
42         <member name="T:System.Data.Entity.SqlServer.Resources.Strings">
43             <summary>
44             Strongly-typed and parameterized string resources.
45             </summary>
46         </member>
47         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.ArgumentIsNullOrWhitespace(System.Object)">
48             <summary>
49             A string like "The argument '{0}' cannot be null, empty or contain only white space."
50             </summary>
51         </member>
52         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.ProviderReturnedNullForGetDbInformation(System.Object)">
53             <summary>
54             A string like "The provider returned null for the informationType '{0}'."
55             </summary>
56         </member>
57         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.ProviderDoesNotSupportType(System.Object)">
58             <summary>
59             A string like "The underlying provider does not support the type '{0}'."
60             </summary>
61         </member>
62         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.NoStoreTypeForEdmType(System.Object,System.Object)">
63             <summary>
64             A string like "There is no store type corresponding to the conceptual side type '{0}' of primitive type '{1}'."
65             </summary>
66         </member>
67         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.Mapping_Provider_WrongManifestType(System.Object)">
68             <summary>
69             A string like "The provider manifest given is not of type '{0}'."
70             </summary>
71         </member>
72         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.ADP_InternalProviderError(System.Object)">
73             <summary>
74             A string like "Internal .NET Framework Data Provider error {0}."
75             </summary>
76         </member>
77         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_NeedSqlDataReader(System.Object)">
78             <summary>
79             A string like "Spatial readers can only be produced from readers of type SqlDataReader. A reader of type {0} was provided."
80             </summary>
81         </member>
82         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_InvalidGeographyColumn(System.Object)">
83             <summary>
84             A string like "Expected a geography value, found a value of type {0}."
85             </summary>
86         </member>
87         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_InvalidGeometryColumn(System.Object)">
88             <summary>
89             A string like "Expected a geometry value, found a value of type {0}."
90             </summary>
91         </member>
92         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.Mapping_Provider_WrongConnectionType(System.Object)">
93             <summary>
94             A string like "The connection is not of type '{0}'."
95             </summary>
96         </member>
97         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.Update_NotSupportedServerGenKey(System.Object)">
98             <summary>
99             A string like "Store-generated keys are only supported for identity columns. More than one key column is marked as server generated in table '{0}'."
100             </summary>
101         </member>
102         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.Update_NotSupportedIdentityType(System.Object,System.Object)">
103             <summary>
104             A string like "Store-generated keys are only supported for identity columns. Key column '{0}' has type '{1}', which is not a valid type for an identity column."
105             </summary>
106         </member>
107         <!-- Badly formed XML comment ignored for member "M:System.Data.Entity.SqlServer.Resources.Strings.Update_SqlEntitySetWithoutDmlFunctions(System.Object,System.Object,System.Object)" -->
108         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.Cqt_General_UnsupportedExpression(System.Object)">
109             <summary>
110             A string like "The expression '{0}' is of an unsupported type. "
111             </summary>
112         </member>
113         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_InvalidDatePartArgumentExpression(System.Object,System.Object)">
114             <summary>
115             A string like "The DATEPART argument to the '{0}.{1}' function must be a literal string."
116             </summary>
117         </member>
118         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_InvalidDatePartArgumentValue(System.Object,System.Object,System.Object)">
119             <summary>
120             A string like "'{0}' is not a valid value for the DATEPART argument in the '{1}.{2}' function."
121             </summary>
122         </member>
123         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_TypedNaNNotSupported(System.Object)">
124             <summary>
125             A string like "Constant expressions of type {0} with a value of NaN are not supported by SQL Server."
126             </summary>
127         </member>
128         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_TypedPositiveInfinityNotSupported(System.Object,System.Object)">
129             <summary>
130             A string like "Constant expressions of type {0} with a value of {1}.PositiveInfinity are not supported by SQL Server."
131             </summary>
132         </member>
133         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_TypedNegativeInfinityNotSupported(System.Object,System.Object)">
134             <summary>
135             A string like "Constant expressions of type {0} with a value of {1}.NegativeInfinity are not supported by SQL Server."
136             </summary>
137         </member>
138         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_PrimitiveTypeNotSupportedPriorSql10(System.Object)">
139             <summary>
140             A string like "There is no store type that maps to the EDM type '{0}' on versions of SQL Server earlier than SQL Server 2008."
141             </summary>
142         </member>
143         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_CanonicalFunctionNotSupportedPriorSql10(System.Object)">
144             <summary>
145             A string like "The EDM function '{0}' is not supported on versions of SQL Server earlier than SQL Server 2008."
146             </summary>
147         </member>
148         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlSpatialServices_ProviderValueNotSqlType(System.Object)">
149             <summary>
150             A string like "The specified provider value is not compatible with this spatial services implementation. A value is required of type '{0}'."
151             </summary>
152         </member>
153         <!-- Badly formed XML comment ignored for member "M:System.Data.Entity.SqlServer.Resources.Strings.InvalidDatabaseName(System.Object)" -->
154         <member name="M:System.Data.Entity.SqlServer.Resources.Strings.SqlServerMigrationSqlGenerator_UnknownOperation(System.Object,System.Object)">
155             <summary>
156             A string like "The current migration SQL generator ({0}) is unable to generate SQL for operations of type '{1}'. Call SetSqlGenerator on your migrations configuration class to use a different SQL generator. To create a custom SQL generator that can handle this type of operation, add a new class that derives from {0} and override Generate(MigrationOperation)."
157             </summary>
158         </member>
159         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_GeographyValueNotSqlCompatible">
160             <summary>
161             A string like "The specified DbGeography value could not be converted to a SQL Server compatible value."
162             </summary>
163         </member>
164         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_GeometryValueNotSqlCompatible">
165             <summary>
166             A string like "The specified DbGeometry value could not be converted to a SQL Server compatible value."
167             </summary>
168         </member>
169         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.UnableToDetermineStoreVersion">
170             <summary>
171             A string like "Could not determine storage version; a valid storage connection or a version hint is required."
172             </summary>
173         </member>
174         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_Sql2008RequiredForSpatial">
175             <summary>
176             A string like "Spatial types and functions are only supported by SQL Server 2008 or later."
177             </summary>
178         </member>
179         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_SqlTypesAssemblyNotFound">
180             <summary>
181             A string like "Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found. "
182             </summary>
183         </member>
184         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_IncompleteCreateDatabase">
185             <summary>
186             A string like "The database creation succeeded, but the creation of the database objects failed. The consequent attempt to drop the database also failed. See InnerException for details."
187             </summary>
188         </member>
189         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_IncompleteCreateDatabaseAggregate">
190             <summary>
191             A string like "See InnerExceptions for details."
192             </summary>
193         </member>
194         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_DdlGeneration_MissingInitialCatalog">
195             <summary>
196             A string like "Unable to complete operation. The supplied SqlConnection does not specify an initial catalog or AttachDBFileName."
197             </summary>
198         </member>
199         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_DdlGeneration_CannotDeleteDatabaseNoInitialCatalog">
200             <summary>
201             A string like "Unable to delete the database. There is no database that corresponds to the given AttachDBFileName."
202             </summary>
203         </member>
204         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_DdlGeneration_CannotTellIfDatabaseExists">
205             <summary>
206             A string like "A connection to the specified database could not be opened. See InnerException for details. However, there is a database registered with the server that corresponds to the given AttachDbFileName."
207             </summary>
208         </member>
209         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlProvider_CredentialsMissingForMasterConnection">
210             <summary>
211             A string like "This operation requires a connection to the 'master' database. Unable to create a connection to the 'master' database because the original database connection has been opened and credentials have been removed from the connection string. Supply an unopened connection."
212             </summary>
213         </member>
214         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_ApplyNotSupportedOnSql8">
215             <summary>
216             A string like "The execution of this query requires the APPLY operator, which is not supported in versions of SQL Server earlier than SQL Server 2005."
217             </summary>
218         </member>
219         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_NiladicFunctionsCannotHaveParameters">
220             <summary>
221             A string like "Functions listed in the provider manifest that are attributed as NiladicFunction='true' cannot have parameter declarations."
222             </summary>
223         </member>
224         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_ParameterForLimitNotSupportedOnSql8">
225             <summary>
226             A string like "Parameters as arguments to a TOP sub-clause and a LIMIT sub-clause in a query, or a LimitExpression in a command tree, are not supported in versions of SQL Server earlier than SQL Server 2005."
227             </summary>
228         </member>
229         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlGen_ParameterForSkipNotSupportedOnSql8">
230             <summary>
231             A string like "Parameters as arguments to a SKIP sub-clause in a query, or a SkipExpression in a command tree, are not supported in versions of SQL Server earlier than SQL Server 2005."
232             </summary>
233         </member>
234         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.Spatial_WellKnownGeographyValueNotValid">
235             <summary>
236             A string like "The specified DbWellKnownGeographyValue does not contain either Well-Known Text or Well-Known Binary."
237             </summary>
238         </member>
239         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.Spatial_WellKnownGeometryValueNotValid">
240             <summary>
241             A string like "The specified DbWellKnownGeometryValue does not contain either Well-Known Text or Well-Known Binary."
242             </summary>
243         </member>
244         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlSpatialservices_CouldNotCreateWellKnownGeographyValueNoSrid">
245             <summary>
246             A string like "A Spatial Reference System Identifier (SRID) value could not be retrieved from the specified DbGeography value."
247             </summary>
248         </member>
249         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlSpatialservices_CouldNotCreateWellKnownGeographyValueNoWkbOrWkt">
250             <summary>
251             A string like "The specified DbGeography value did not provide either Well-Known Binary or Well-Known Text."
252             </summary>
253         </member>
254         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlSpatialservices_CouldNotCreateWellKnownGeometryValueNoSrid">
255             <summary>
256             A string like "A Spatial Reference System Identifier (SRID) value could not be retrieved from the specified DbGeometry value."
257             </summary>
258         </member>
259         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.SqlSpatialservices_CouldNotCreateWellKnownGeometryValueNoWkbOrWkt">
260             <summary>
261             A string like "The specified DbGeometry value did not provide either Well-Known Binary or Well-Known Text."
262             </summary>
263         </member>
264         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.TransientExceptionDetected">
265             <summary>
266             A string like "An exception has been raised that is likely due to a transient failure. If you are connecting to a SQL Azure database consider using SqlAzureExecutionStrategy."
267             </summary>
268         </member>
269         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.ELinq_DbFunctionDirectCall">
270             <summary>
271             A string like "This function can only be invoked from LINQ to Entities."
272             </summary>
273         </member>
274         <member name="P:System.Data.Entity.SqlServer.Resources.Strings.AutomaticMigration">
275             <summary>
276             A string like "AutomaticMigration"
277             </summary>
278         </member>
279         <member name="T:System.Data.Entity.SqlServer.Resources.Error">
280             <summary>
281             Strongly-typed and parameterized exception factory.
282             </summary>
283         </member>
284         <!-- Badly formed XML comment ignored for member "M:System.Data.Entity.SqlServer.Resources.Error.InvalidDatabaseName(System.Object)" -->
285         <member name="M:System.Data.Entity.SqlServer.Resources.Error.SqlServerMigrationSqlGenerator_UnknownOperation(System.Object,System.Object)">
286             <summary>
287             InvalidOperationException with message like "The current migration SQL generator ({0}) is unable to generate SQL for operations of type '{1}'. Call SetSqlGenerator on your migrations configuration class to use a different SQL generator. To create a custom SQL generator that can handle this type of operation, add a new class that derives from {0} and override Generate(MigrationOperation)."
288             </summary>
289         </member>
290         <member name="M:System.Data.Entity.SqlServer.Resources.Error.ArgumentOutOfRange(System.String)">
291             <summary>
292             The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
293             </summary>
294         </member>
295         <member name="M:System.Data.Entity.SqlServer.Resources.Error.NotImplemented">
296             <summary>
297             The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag.
298             </summary>
299         </member>
300         <member name="M:System.Data.Entity.SqlServer.Resources.Error.NotSupported">
301             <summary>
302             The exception that is thrown when an invoked method is not supported, or when there is an attempt to
303             read, seek, or write to a stream that does not support the invoked functionality.
304             </summary>
305         </member>
306         <member name="T:System.Data.Entity.SqlServer.Resources.EntityRes">
307             <summary>
308             AutoGenerated resource class. Usage:
309             string s = EntityRes.GetString(EntityRes.MyIdenfitier);
310             </summary>
311         </member>
312         <member name="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy">
313             <summary>
314             An <see cref="T:System.Data.Entity.Infrastructure.IDbExecutionStrategy"/> that retries actions that throw exceptions caused by SQL Azure transient failures.
315             </summary>
316             <remarks>
317             This execution strategy will retry the operation on <see cref="T:System.TimeoutException"/> and <see cref="T:System.Data.SqlClient.SqlException"/>
318             if the <see cref="P:System.Data.SqlClient.SqlException.Errors"/> contains any of the following error numbers:
319             40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20
320             </remarks>
321         </member>
322         <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor">
323             <summary>
324             Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/>.
325             </summary>
326             <remarks>
327             The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor.
328             </remarks>
329         </member>
330         <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor(System.Int32,System.TimeSpan)">
331             <summary>
332             Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/> with the specified limits for
333             number of retries and the delay between retries.
334             </summary>
335             <param name="maxRetryCount"> The maximum number of retry attempts. </param>
336             <param name="maxDelay"> The maximum delay in milliseconds between retries. </param>
337         </member>
338         <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.ShouldRetryOn(System.Exception)">
339             <inheritdoc/>
340         </member>
341         <member name="T:System.Data.Entity.SqlServer.SqlAzureRetriableExceptionDetector">
342             <summary>
343             Detects the exceptions caused by SQL Azure transient failures.
344             </summary>
345         </member>
346         <member name="M:System.Data.Entity.SqlServer.SqlDdlBuilder.AppendSql(System.String)">
347             <summary>
348             Appends raw SQL into the string builder.
349             </summary>
350             <param name="text"> Raw SQL string to append into the string builder. </param>
351         </member>
352         <member name="M:System.Data.Entity.SqlServer.SqlDdlBuilder.AppendNewLine">
353             <summary>
354             Appends new line for visual formatting or for ending a comment.
355             </summary>
356         </member>
357         <member name="M:System.Data.Entity.SqlServer.SqlDdlBuilder.AppendSqlInvariantFormat(System.String,System.Object[])">
358             <summary>
359             Append raw SQL into the string builder with formatting options and invariant culture formatting.
360             </summary>
361             <param name="format"> A composite format string. </param>
362             <param name="args"> An array of objects to format. </param>
363         </member>
364         <member name="T:System.Data.Entity.SqlServer.SqlFunctions">
365             <summary>
366             Contains function stubs that expose SqlServer methods in Linq to Entities.
367             </summary>
368         </member>
369         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Int32})">
370             <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
371             <returns>The checksum computed from the input collection.</returns>
372             <param name="arg">The collection of values over which the checksum is computed.</param>
373         </member>
374         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Nullable{System.Int32}})">
375             <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
376             <returns>The checksum computed from the input collection.</returns>
377             <param name="arg">The collection of values over which the checksum is computed.</param>
378         </member>
379         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Ascii(System.String)">
380             <summary>Returns the ASCII code value of the left-most character of a character expression.</summary>
381             <returns>The ASCII code of the first character in the input string.</returns>
382             <param name="arg">A valid string.</param>
383         </member>
384         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Char(System.Nullable{System.Int32})">
385             <summary>Returns the character that corresponds to the specified integer ASCII value.</summary>
386             <returns>The character that corresponds to the specified ASCII value.</returns>
387             <param name="arg">An ASCII code.</param>
388         </member>
389         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String)">
390             <summary>Returns the starting position of one expression found within another expression.</summary>
391             <returns>The starting position of  target  if it is found in  toSearch .</returns>
392             <param name="toSearch">The string expression to be searched.</param>
393             <param name="target">The string expression to be found.</param>
394         </member>
395         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[])">
396             <summary>Returns the starting position of one expression found within another expression.</summary>
397             <returns>The starting position of  target  if it is found in  toSearch .</returns>
398             <param name="toSearch">The string expression to be searched.</param>
399             <param name="target">The string expression to be found.</param>
400         </member>
401         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int32})">
402             <summary>Returns the starting position of one expression found within another expression.</summary>
403             <returns>The starting position of  target  if it is found in  toSearch .</returns>
404             <param name="toSearch">The string expression to be searched.</param>
405             <param name="target">The string expression to be found.</param>
406             <param name="startLocation">The character position in  toSearch  where searching begins.</param>
407         </member>
408         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int32})">
409             <summary>Returns the starting position of one expression found within another expression.</summary>
410             <returns>The starting position of  target  if it is found in  toSearch .</returns>
411             <param name="toSearch">The string expression to be searched.</param>
412             <param name="target">The string expression to be found.</param>
413             <param name="startLocation">The character position in  toSearch  where searching begins.</param>
414         </member>
415         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int64})">
416             <summary>Returns the starting position of one expression found within another expression.</summary>
417             <returns>
418             A <see cref="T:System.Nullable`1" /> of <see cref="T:System.Int64" /> value that is the starting position of  target  if it is found in  toSearch .
419             </returns>
420             <param name="toSearch">The string expression to be searched.</param>
421             <param name="target">The string expression to be found.</param>
422             <param name="startLocation">The character position in  toSearch  where searching begins.</param>
423         </member>
424         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int64})">
425             <summary>Returns the starting position of one expression found within another expression.</summary>
426             <returns>The starting position of  target  if it is found in  toSearch .</returns>
427             <param name="toSearch">The string expression to be searched.</param>
428             <param name="target">The string expression to be found.</param>
429             <param name="startLocation">The character position in  toSearch  at which searching begins.</param>
430         </member>
431         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Difference(System.String,System.String)">
432             <summary>Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions.</summary>
433             <returns>The SOUNDEX difference between the two strings.</returns>
434             <param name="string1">The first string.</param>
435             <param name="string2">The second string.</param>
436         </member>
437         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.NChar(System.Nullable{System.Int32})">
438             <summary>Returns the Unicode character with the specified integer code, as defined by the Unicode standard.</summary>
439             <returns>The character that corresponds to the input character code.</returns>
440             <param name="arg">A character code.</param>
441         </member>
442         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.PatIndex(System.String,System.String)">
443             <summary>Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types.</summary>
444             <returns>The starting character position where the string pattern was found.</returns>
445             <param name="stringPattern">A string pattern to search for.</param>
446             <param name="target">The string to search.</param>
447         </member>
448         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String)">
449             <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
450             <returns>The original string with brackets added.</returns>
451             <param name="stringArg">The expression that quote characters will be added to.</param>
452         </member>
453         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String,System.String)">
454             <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
455             <returns>The original string with the specified quote characters added.</returns>
456             <param name="stringArg">The expression that quote characters will be added to.</param>
457             <param name="quoteCharacter">The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used.</param>
458         </member>
459         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Replicate(System.String,System.Nullable{System.Int32})">
460             <summary>Repeats a string value a specified number of times.</summary>
461             <returns>The target string, repeated the number of times specified by  count .</returns>
462             <param name="target">A valid string.</param>
463             <param name="count">The value that specifies how many time to repeat  target .</param>
464         </member>
465         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SoundCode(System.String)">
466             <summary>Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names.</summary>
467             <returns>The SOUNDEX code of the input string.</returns>
468             <param name="arg">A valid string.</param>
469         </member>
470         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Space(System.Nullable{System.Int32})">
471             <summary>Returns a string of repeated spaces.</summary>
472             <returns>A string that consists of the specified number of spaces.</returns>
473             <param name="arg1">The number of spaces. If negative, a null string is returned.</param>
474         </member>
475         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double})">
476             <summary>Returns character data converted from numeric data.</summary>
477             <returns>The numeric input expression converted to a string.</returns>
478             <param name="number">A numeric expression.</param>
479         </member>
480         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal})">
481             <summary>Returns character data converted from numeric data.</summary>
482             <returns>The input expression converted to a string.</returns>
483             <param name="number">A numeric expression.</param>
484         </member>
485         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32})">
486             <summary>Returns character data converted from numeric data.</summary>
487             <returns>The numeric input expression converted to a string.</returns>
488             <param name="number">A numeric expression.</param>
489             <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
490         </member>
491         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32})">
492             <summary>Returns character data converted from numeric data.</summary>
493             <returns>The input expression converted to a string.</returns>
494             <param name="number">A numeric expression.</param>
495             <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
496         </member>
497         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32},System.Nullable{System.Int32})">
498             <summary>Returns character data converted from numeric data.</summary>
499             <returns>The numeric input expression converted to a string.</returns>
500             <param name="number">A numeric expression.</param>
501             <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
502             <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
503         </member>
504         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32},System.Nullable{System.Int32})">
505             <summary>Returns character data converted from numeric data.</summary>
506             <returns>The input expression converted to a string.</returns>
507             <param name="number">A numeric expression.</param>
508             <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
509             <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
510         </member>
511         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Stuff(System.String,System.Nullable{System.Int32},System.Nullable{System.Int32},System.String)">
512             <summary>Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position.</summary>
513             <returns>A string consisting of the two strings.</returns>
514             <param name="stringInput">The target string.</param>
515             <param name="start">The character position in  stringinput  where the replacement string is to be inserted.</param>
516             <param name="length">The number of characters to delete from  stringInput . If  length  is longer than  stringInput , deletion occurs up to the last character in  stringReplacement .</param>
517             <param name="stringReplacement">The substring to be inserted into  stringInput .</param>
518         </member>
519         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Unicode(System.String)">
520             <summary>Returns the integer value, as defined by the Unicode standard, for the first character of the input expression.</summary>
521             <returns>The character code for the first character in the input string.</returns>
522             <param name="arg">A valid string.</param>
523         </member>
524         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Double})">
525             <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
526             <returns>The angle, in radians, defined by the input cosine value.</returns>
527             <param name="arg1">The cosine of an angle.</param>
528         </member>
529         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Decimal})">
530             <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
531             <returns>An angle, measured in radians.</returns>
532             <param name="arg1">The cosine of an angle.</param>
533         </member>
534         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Double})">
535             <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
536             <returns>An angle, measured in radians.</returns>
537             <param name="arg">The sine of an angle.</param>
538         </member>
539         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Decimal})">
540             <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
541             <returns>An angle, measured in radians.</returns>
542             <param name="arg">The sine of an angle.</param>
543         </member>
544         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Double})">
545             <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
546             <returns>An angle, measured in radians.</returns>
547             <param name="arg">The tangent of an angle.</param>
548         </member>
549         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Decimal})">
550             <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
551             <returns>An angle, measured in radians.</returns>
552             <param name="arg">The tangent of an angle.</param>
553         </member>
554         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Double},System.Nullable{System.Double})">
555             <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
556             <returns>An angle, measured in radians.</returns>
557             <param name="arg1">The y-coordinate of a point.</param>
558             <param name="arg2">The x-coordinate of a point.</param>
559         </member>
560         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
561             <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
562             <returns>An angle, measured in radians.</returns>
563             <param name="arg1">The y-coordinate of a point.</param>
564             <param name="arg2">The x-coordinate of a point.</param>
565         </member>
566         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Double})">
567             <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
568             <returns>The trigonometric cosine of the specified angle.</returns>
569             <param name="arg">An angle, measured in radians.</param>
570         </member>
571         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Decimal})">
572             <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
573             <returns>The trigonometric cosine of the specified angle.</returns>
574             <param name="arg">An angle, measured in radians.</param>
575         </member>
576         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Double})">
577             <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
578             <returns>The trigonometric cotangent of the specified angle.</returns>
579             <param name="arg">An angle, measured in radians.</param>
580         </member>
581         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Decimal})">
582             <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
583             <returns>The trigonometric cotangent of the specified angle.</returns>
584             <param name="arg">An angle, measured in radians.</param>
585         </member>
586         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int32})">
587             <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
588             <returns>The specified angle converted to degrees.</returns>
589             <param name="arg1">An angle, measured in radians.</param>
590         </member>
591         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int64})">
592             <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
593             <returns>The specified angle converted to degrees.</returns>
594             <param name="arg1">An angle, measured in radians.</param>
595         </member>
596         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Decimal})">
597             <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
598             <returns>The specified angle converted to degrees.</returns>
599             <param name="arg1">An angle, measured in radians.</param>
600         </member>
601         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Double})">
602             <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
603             <returns>The specified angle converted to degrees.</returns>
604             <param name="arg1">An angle, measured in radians.</param>
605         </member>
606         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Double})">
607             <summary>Returns the exponential value of the specified float expression.</summary>
608             <returns>The constant e raised to the power of the input value.</returns>
609             <param name="arg">The input value.</param>
610         </member>
611         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Decimal})">
612             <summary>Returns the exponential value of the specified float expression.</summary>
613             <returns>The constant e raised to the power of the input value.</returns>
614             <param name="arg">The input value.</param>
615         </member>
616         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Double})">
617             <summary>Returns the natural logarithm of the specified input value.</summary>
618             <returns>The natural logarithm of the input value.</returns>
619             <param name="arg">A numeric expression.</param>
620         </member>
621         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Decimal})">
622             <summary>Returns the natural logarithm of the specified input value.</summary>
623             <returns>The natural logarithm of the input value.</returns>
624             <param name="arg">A numeric expression.</param>
625         </member>
626         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Double})">
627             <summary>Returns the base-10 logarithm of the specified input value.</summary>
628             <returns>The base-10 logarithm of the input value.</returns>
629             <param name="arg">A numeric expression.</param>
630         </member>
631         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Decimal})">
632             <summary>Returns the base-10 logarithm of the specified input value.</summary>
633             <returns>The base-10 logarithm of the input value.</returns>
634             <param name="arg">A numeric expression.</param>
635         </member>
636         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Pi">
637             <summary>Returns the constant value of pi.</summary>
638             <returns>The numeric value of pi.</returns>
639         </member>
640         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int32})">
641             <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
642             <returns>The radian measure of the specified angle.</returns>
643             <param name="arg">The angle, measured in degrees</param>
644         </member>
645         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int64})">
646             <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
647             <returns>The radian measure of the specified angle.</returns>
648             <param name="arg">The angle, measured in degrees</param>
649         </member>
650         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Decimal})">
651             <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
652             <returns>The radian measure of the specified angle.</returns>
653             <param name="arg">The angle, measured in degrees.</param>
654         </member>
655         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Double})">
656             <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
657             <returns>The radian measure of the specified angle.</returns>
658             <param name="arg">The angle, measured in degrees.</param>
659         </member>
660         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand">
661             <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
662             <returns>The pseudo-random value.</returns>
663         </member>
664         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand(System.Nullable{System.Int32})">
665             <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
666             <returns>The pseudo-random value.</returns>
667             <param name="seed">The seed value. If  seed  is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same.</param>
668         </member>
669         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int32})">
670             <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
671             <returns>The sign of the input expression.</returns>
672             <param name="arg">A numeric expression.</param>
673         </member>
674         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int64})">
675             <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
676             <returns>The sign of the input expression.</returns>
677             <param name="arg">A numeric expression.</param>
678         </member>
679         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Decimal})">
680             <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
681             <returns>The sign of the input expression.</returns>
682             <param name="arg">A numeric expression.</param>
683         </member>
684         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Double})">
685             <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
686             <returns>The sign of the input expression.</returns>
687             <param name="arg">A numeric expression.</param>
688         </member>
689         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Decimal})">
690             <summary>Returns the trigonometric sine of the specified angle.</summary>
691             <returns>The trigonometric sine of the input expression.</returns>
692             <param name="arg">An angle, measured in radians.</param>
693         </member>
694         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Double})">
695             <summary>Returns the trigonometric sine of the specified angle.</summary>
696             <returns>The trigonometric sine of the input expression.</returns>
697             <param name="arg">An angle, measured in radians.</param>
698         </member>
699         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Double})">
700             <summary>Returns the square root of the specified number.</summary>
701             <returns>The square root of the input value.</returns>
702             <param name="arg">A numeric expression.</param>
703         </member>
704         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Decimal})">
705             <summary>Returns the square root of the specified number.</summary>
706             <returns>The square root of the input value.</returns>
707             <param name="arg">A numeric expression.</param>
708         </member>
709         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Double})">
710             <summary>Returns the square of the specified number.</summary>
711             <returns>The square of the input value.</returns>
712             <param name="arg1">A numeric expression.</param>
713         </member>
714         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Decimal})">
715             <summary>Returns the square of the specified number.</summary>
716             <returns>The square of the input value.</returns>
717             <param name="arg1">A numeric expression.</param>
718         </member>
719         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Double})">
720             <summary>Returns the trigonometric tangent of the input expression.</summary>
721             <returns>The tangent of the input angle.</returns>
722             <param name="arg">An angle, measured in radians.</param>
723         </member>
724         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Decimal})">
725             <summary>Returns the trigonometric tangent of the input expression.</summary>
726             <returns>The tangent of the input angle.</returns>
727             <param name="arg">An angle, measured in radians.</param>
728         </member>
729         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTime})">
730             <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
731             <returns>The new date.</returns>
732             <param name="datePartArg">The part of the date to increment. </param>
733             <param name="number">The value used to increment a date by a specified amount.</param>
734             <param name="date">The date to increment.</param>
735         </member>
736         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.TimeSpan})">
737             <summary>Returns a new time span value based on adding an interval to the specified time span.</summary>
738             <returns>The new time span.</returns>
739             <param name="datePartArg">The part of the date to increment.</param>
740             <param name="number">The value used to increment a date by a specified amount.</param>
741             <param name="time">The time span to increment.</param>
742         </member>
743         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTimeOffset})">
744             <summary>Returns a new date value based on adding an interval to the specified date.</summary>
745             <returns>The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC).</returns>
746             <param name="datePartArg">The part of the date to increment.</param>
747             <param name="number">The value used to increment a date by a specified amount.</param>
748             <param name="dateTimeOffsetArg">The date to increment.</param>
749         </member>
750         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.String)">
751             <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
752             <returns>
753             A <see cref="T:System.Nullable`1" /> of <see cref="T:System.DateTime" /> value that is the new date.
754             </returns>
755             <param name="datePartArg">The part of the date to increment.</param>
756             <param name="number">The value used to increment a date by a specified amount.</param>
757             <param name="date">The date to increment.</param>
758         </member>
759         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
760             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
761             <returns>The number of time intervals between the two dates.</returns>
762             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
763             <param name="startDate">The first date.</param>
764             <param name="endDate">The second date.</param>
765         </member>
766         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
767             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
768             <returns>The number of time intervals between the two dates.</returns>
769             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
770             <param name="startDate">The first date.</param>
771             <param name="endDate">The second date.</param>
772         </member>
773         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
774             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
775             <returns>The number of time intervals between the two dates.</returns>
776             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
777             <param name="startDate">The first date.</param>
778             <param name="endDate">The second date.</param>
779         </member>
780         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTime})">
781             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
782             <returns>The number of time intervals between the two dates.</returns>
783             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
784             <param name="startDate">The first date.</param>
785             <param name="endDate">The second date.</param>
786         </member>
787         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTimeOffset})">
788             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
789             <returns>The number of time intervals between the two dates.</returns>
790             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
791             <param name="startDate">The first date.</param>
792             <param name="endDate">The second date.</param>
793         </member>
794         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.TimeSpan})">
795             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
796             <returns>The value specifying the number of time intervals between the two dates.</returns>
797             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
798             <param name="startDate">The first date.</param>
799             <param name="endDate">The second date.</param>
800         </member>
801         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.String)">
802             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
803             <returns>The number of time intervals between the two dates.</returns>
804             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
805             <param name="startDate">The first date.</param>
806             <param name="endDate">The second date.</param>
807         </member>
808         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.String)">
809             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
810             <returns>The number of time intervals between the two dates.</returns>
811             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
812             <param name="startDate">The first date.</param>
813             <param name="endDate">The second date.</param>
814         </member>
815         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.String)">
816             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
817             <returns>The number of time intervals between the two dates.</returns>
818             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
819             <param name="startDate">The first date.</param>
820             <param name="endDate">The second date.</param>
821         </member>
822         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.String)">
823             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
824             <returns>The number of time intervals between the two dates.</returns>
825             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
826             <param name="startDate">The first date.</param>
827             <param name="endDate">The second date.</param>
828         </member>
829         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTime})">
830             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
831             <returns>The number of time intervals between the two dates.</returns>
832             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
833             <param name="startDate">The first date.</param>
834             <param name="endDate">The second date.</param>
835         </member>
836         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTimeOffset})">
837             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
838             <returns>The number of time intervals between the two dates.</returns>
839             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
840             <param name="startDate">The first date.</param>
841             <param name="endDate">The second date.</param>
842         </member>
843         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.TimeSpan})">
844             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
845             <returns>The number of time intervals between the two dates.</returns>
846             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
847             <param name="startDate">The first date.</param>
848             <param name="endDate">The second date.</param>
849         </member>
850         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.TimeSpan})">
851             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
852             <returns>The number of time intervals between the two Dates.</returns>
853             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
854             <param name="startDate">The first date.</param>
855             <param name="endDate">The second date.</param>
856         </member>
857         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTimeOffset})">
858             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
859             <returns>The number of time intervals between the two dates.</returns>
860             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
861             <param name="startDate">The first date.</param>
862             <param name="endDate">The second date.</param>
863         </member>
864         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTime})">
865             <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
866             <returns>The number of time intervals between the two dates.</returns>
867             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
868             <param name="startDate">The first date.</param>
869             <param name="endDate">The second date.</param>
870         </member>
871         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTime})">
872             <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
873             <returns>The specified part of the specified date.</returns>
874             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
875             <param name="date">The date.</param>
876         </member>
877         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.String)">
878             <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
879             <returns>The specified part of the specified date.</returns>
880             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
881             <param name="date">The date.</param>
882         </member>
883         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.TimeSpan})">
884             <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
885             <returns>The specified part of the specified date.</returns>
886             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
887             <param name="date">The date.</param>
888         </member>
889         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTimeOffset})">
890             <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
891             <returns>The specified part of the specified date.</returns>
892             <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
893             <param name="date">The date.</param>
894         </member>
895         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTime})">
896             <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
897             <returns>The the specified datepart of the specified date.</returns>
898             <param name="datePartArg">The part of the date to return the value.</param>
899             <param name="date">The date.</param>
900         </member>
901         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTimeOffset})">
902             <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
903             <returns>The specified datepart of the specified date.</returns>
904             <param name="datePartArg">The part of the date to return the value.</param>
905             <param name="date">The date.</param>
906         </member>
907         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.String)">
908             <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
909             <returns>The specified datepart of the specified date.</returns>
910             <param name="datePartArg">The part of the date to return the value.</param>
911             <param name="date">The date.</param>
912         </member>
913         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.TimeSpan})">
914             <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
915             <returns>The specified datepart of the specified date.</returns>
916             <param name="datePartArg">The part of the date to return the value.</param>
917             <param name="date">The date.</param>
918         </member>
919         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetDate">
920             <summary>Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
921             <returns>The current database timestamp.</returns>
922         </member>
923         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetUtcDate">
924             <summary>Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
925             <returns>The current database UTC timestamp.</returns>
926         </member>
927         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Boolean})">
928             <summary>Returns the number of bytes used to represent any expression.</summary>
929             <returns>The number of bytes in the input value.</returns>
930             <param name="arg">The value to be examined for data length.</param>
931         </member>
932         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Double})">
933             <summary>Returns the number of bytes used to represent any expression.</summary>
934             <returns>The number of bytes in the input value.</returns>
935             <param name="arg">The value to be examined for data length.</param>
936         </member>
937         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Decimal})">
938             <summary>Returns the number of bytes used to represent any expression.</summary>
939             <returns>The number of bytes in the input value.</returns>
940             <param name="arg">The value to be examined for data length.</param>
941         </member>
942         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTime})">
943             <summary>Returns the number of bytes used to represent any expression.</summary>
944             <returns>The number of bytes in the input value.</returns>
945             <param name="arg">The value to be examined for data length.</param>
946         </member>
947         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.TimeSpan})">
948             <summary>Returns the number of bytes used to represent any expression.</summary>
949             <returns>The number of bytes in the input value.</returns>
950             <param name="arg">The value to be examined for data length.</param>
951         </member>
952         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTimeOffset})">
953             <summary>Returns the number of bytes used to represent any expression.</summary>
954             <returns>The number of bytes in the input value.</returns>
955             <param name="arg">The value to be examined for data length.</param>
956         </member>
957         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.String)">
958             <summary>Returns the number of bytes used to represent any expression.</summary>
959             <returns>The number of bytes in the input value.</returns>
960             <param name="arg">The value to be examined for data length.</param>
961         </member>
962         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Byte[])">
963             <summary>Returns the number of bytes used to represent any expression.</summary>
964             <returns>The number of bytes in the input value.</returns>
965             <param name="arg">The value to be examined for length.</param>
966         </member>
967         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Guid})">
968             <summary>Returns the number of bytes used to represent any expression.</summary>
969             <returns>The number of bytes in the input value.</returns>
970             <param name="arg">The value to be examined for data length.</param>
971         </member>
972         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean})">
973             <summary>Returns the checksum value computed over the input argument.</summary>
974             <returns>The checksum computed over the input value.</returns>
975             <param name="arg1">The value for which the checksum is calculated.</param>
976         </member>
977         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double})">
978             <summary>Returns the checksum value computed over the input argument.</summary>
979             <returns>The checksum computed over the input value.</returns>
980             <param name="arg1">The value for which the checksum is calculated.</param>
981         </member>
982         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal})">
983             <summary>Returns the checksum value computed over the input argument.</summary>
984             <returns>The checksum computed over the input value.</returns>
985             <param name="arg1">The value for which the checksum is calculated.</param>
986         </member>
987         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String)">
988             <summary>Returns the checksum value computed over the input argument.</summary>
989             <returns>The checksum computed over the input value.</returns>
990             <param name="arg1">The value for which the checksum is calculated.</param>
991         </member>
992         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime})">
993             <summary>Returns the checksum value computed over the input argument.</summary>
994             <returns>The checksum computed over the input values.</returns>
995             <param name="arg1">The value for which the checksum is calculated.</param>
996         </member>
997         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan})">
998             <summary>Returns the checksum value computed over the input argument.</summary>
999             <returns>The checksum computed over the input value.</returns>
1000             <param name="arg1">The value for which the checksum is calculated.</param>
1001         </member>
1002         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset})">
1003             <summary>Returns the checksum value computed over the input argument.</summary>
1004             <returns>The checksum computed over the input value.</returns>
1005             <param name="arg1">The value for which the checksum is calculated.</param>
1006         </member>
1007         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[])">
1008             <summary>Returns the checksum value computed over the input argument.</summary>
1009             <returns>The checksum computed over the input value.</returns>
1010             <param name="arg1">The character array for which the checksum is calculated.</param>
1011         </member>
1012         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid})">
1013             <summary>Returns the checksum value computed over the input argument.</summary>
1014             <returns>The checksum computed over the input value.</returns>
1015             <param name="arg1">The value for which the checksum is calculated.</param>
1016         </member>
1017         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
1018             <summary>Returns the checksum value computed over the input arguments.</summary>
1019             <returns>The checksum computed over the input values.</returns>
1020             <param name="arg1">The value for which the checksum is calculated.</param>
1021             <param name="arg2">The value for which the checksum is calculated.</param>
1022         </member>
1023         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double})">
1024             <summary>Returns the checksum value computed over the input arguments.</summary>
1025             <returns>The checksum computed over the input values.</returns>
1026             <param name="arg1">The value for which the checksum is calculated.</param>
1027             <param name="arg2">The value for which the checksum is calculated.</param>
1028         </member>
1029         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
1030             <summary>Returns the checksum value computed over the input arguments.</summary>
1031             <returns>The checksum computed over the input values.</returns>
1032             <param name="arg1">The value for which the checksum is calculated.</param>
1033             <param name="arg2">The value for which the checksum is calculated.</param>
1034         </member>
1035         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String)">
1036             <summary>Returns the checksum value computed over the input arguments.</summary>
1037             <returns>The checksum computed over the input values.</returns>
1038             <param name="arg1">The value for which the checksum is calculated.</param>
1039             <param name="arg2">The value for which the checksum is calculated.</param>
1040         </member>
1041         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
1042             <summary>Returns the checksum value computed over the input arguments.</summary>
1043             <returns>The checksum computed over the input values.</returns>
1044             <param name="arg1">The value for which the checksum is calculated.</param>
1045             <param name="arg2">The value for which the checksum is calculated.</param>
1046         </member>
1047         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
1048             <summary>Returns the checksum value computed over the input arguments.</summary>
1049             <returns>The checksum computed over the input values.</returns>
1050             <param name="arg1">The value for which the checksum is calculated.</param>
1051             <param name="arg2">The value for which the checksum is calculated.</param>
1052         </member>
1053         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
1054             <summary>Returns the checksum value computed over the input arguments.</summary>
1055             <returns>The checksum computed over the input values.</returns>
1056             <param name="arg1">The value for which the checksum is calculated.</param>
1057             <param name="arg2">The value for which the checksum is calculated.</param>
1058         </member>
1059         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[])">
1060             <summary>Returns the checksum value computed over the input arguments.</summary>
1061             <returns>The checksum computed over the input values.</returns>
1062             <param name="arg1">The character array for which the checksum is calculated.</param>
1063             <param name="arg2">The character array for which the checksum is calculated.</param>
1064         </member>
1065         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid})">
1066             <summary>Returns the checksum value computed over the input arguments.</summary>
1067             <returns>The checksum computed over the input values.</returns>
1068             <param name="arg1">The value for which the checksum is calculated.</param>
1069             <param name="arg2">The value for which the checksum is calculated.</param>
1070         </member>
1071         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
1072             <summary>Returns the checksum value computed over the input arguments.</summary>
1073             <returns>The checksum computed over the input values.</returns>
1074             <param name="arg1">The value for which the checksum is calculated.</param>
1075             <param name="arg2">The value for which the checksum is calculated.</param>
1076             <param name="arg3">The value for which the checksum is calculated.</param>
1077         </member>
1078         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Double})">
1079             <summary>Returns the checksum value computed over the input arguments.</summary>
1080             <returns>The checksum computed over the input values.</returns>
1081             <param name="arg1">The value for which the checksum is calculated.</param>
1082             <param name="arg2">The value for which the checksum is calculated.</param>
1083             <param name="arg3">The value for which the checksum is calculated.</param>
1084         </member>
1085         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
1086             <summary>Returns the checksum value computed over the input arguments.</summary>
1087             <returns>The checksum computed over the input values.</returns>
1088             <param name="arg1">The value for which the checksum is calculated.</param>
1089             <param name="arg2">The value for which the checksum is calculated.</param>
1090             <param name="arg3">The value for which the checksum is calculated.</param>
1091         </member>
1092         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String,System.String)">
1093             <summary>Returns the checksum value computed over the input arguments.</summary>
1094             <returns>The checksum computed over the input values.</returns>
1095             <param name="arg1">The value for which the checksum is calculated.</param>
1096             <param name="arg2">The value for which the checksum is calculated.</param>
1097             <param name="arg3">The value for which the checksum is calculated.</param>
1098         </member>
1099         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
1100             <summary>Returns the checksum value computed over the input arguments.</summary>
1101             <returns>The checksum computed over the input values.</returns>
1102             <param name="arg1">The value for which the checksum is calculated.</param>
1103             <param name="arg2">The value for which the checksum is calculated.</param>
1104             <param name="arg3">The value for which the checksum is calculated.</param>
1105         </member>
1106         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
1107             <summary>Returns the checksum value computed over the input arguments.</summary>
1108             <returns>The checksum computed over the input values.</returns>
1109             <param name="arg1">The value for which the checksum is calculated.</param>
1110             <param name="arg2">The value for which the checksum is calculated.</param>
1111             <param name="arg3">The value for which the checksum is calculated.</param>
1112         </member>
1113         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
1114             <summary>Returns the checksum value computed over the input arguments.</summary>
1115             <returns>The checksum computed over the input values.</returns>
1116             <param name="arg1">The value for which the checksum is calculated.</param>
1117             <param name="arg2">The value for which the checksum is calculated.</param>
1118             <param name="arg3">The value for which the checksum is calculated.</param>
1119         </member>
1120         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[],System.Byte[])">
1121             <summary>Returns the checksum value computed over the input arguments.</summary>
1122             <returns>The checksum computed over the input values.</returns>
1123             <param name="arg1">The character array for which the checksum is calculated.</param>
1124             <param name="arg2">The character array for which the checksum is calculated.</param>
1125             <param name="arg3">The character array for which the checksum is calculated.</param>
1126         </member>
1127         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid},System.Nullable{System.Guid})">
1128             <summary>Returns the checksum value computed over the input arguments.</summary>
1129             <returns>The checksum computed over the input values.</returns>
1130             <param name="arg1">The value for which the checksum is calculated.</param>
1131             <param name="arg2">The value for which the checksum is calculated.</param>
1132             <param name="arg3">The value for which the checksum is calculated.</param>
1133         </member>
1134         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentTimestamp">
1135             <summary>Returns the current date and time. </summary>
1136             <returns>The current date and time.</returns>
1137         </member>
1138         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentUser">
1139             <summary>Returns the name of the current user.</summary>
1140             <returns>The name of the current user.</returns>
1141         </member>
1142         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.HostName">
1143             <summary>Returns the workstation name.</summary>
1144             <returns>The name of the workstation.</returns>
1145         </member>
1146         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName(System.Nullable{System.Int32})">
1147             <summary>Returns a database user name corresponding to a specified identification number.</summary>
1148             <returns>The user name.</returns>
1149             <param name="arg">A user ID.</param>
1150         </member>
1151         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName">
1152             <summary>Returns a database user name corresponding to a specified identification number.</summary>
1153             <returns>The user name.</returns>
1154         </member>
1155         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsNumeric(System.String)">
1156             <summary>Indicates whether the input value is a valid numeric type.</summary>
1157             <returns>1 if the input expression is a valid numeric data type; otherwise, 0.</returns>
1158             <param name="arg">A string expression.</param>
1159         </member>
1160         <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsDate(System.String)">
1161             <summary>Indicates whether the input value is a valid date or time.</summary>
1162             <returns>1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0.</returns>
1163             <param name="arg">The tested value.</param>
1164         </member>
1165         <member name="T:System.Data.Entity.SqlServer.SqlGen.BoolWrapper">
1166             <summary>
1167             Used for wrapping a boolean value as an object.
1168             </summary>
1169         </member>
1170         <member name="T:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator">
1171             <summary>
1172             Class generating SQL for a DML command tree.
1173             </summary>
1174         </member>
1175         <member name="M:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.UseGeneratedValuesVariable(System.Data.Entity.Core.Common.CommandTrees.DbInsertCommandTree,System.Data.Entity.SqlServer.SqlVersion)">
1176             <summary>
1177             Determine whether we should use a generated values variable to return server generated values.
1178             This is true when we're attempting to insert a row where the primary key is server generated
1179             but is not an integer type (and therefore can't be used with scope_identity()). It is also true
1180             where there is a compound server generated key.
1181             </summary>
1182         </member>
1183         <member name="M:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.GenerateReturningSql(System.Data.Entity.SqlServer.SqlGen.SqlStringBuilder,System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree,System.Data.Entity.Core.Metadata.Edm.EntityType,System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.ExpressionTranslator,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)">
1184             <summary>
1185             Generates SQL fragment returning server-generated values.
1186             Requires: translator knows about member values so that we can figure out
1187             how to construct the key predicate.
1188             <code>Sample SQL:
1189             
1190                 select IdentityValue
1191                 from dbo.MyTable
1192                 where @@ROWCOUNT > 0 and IdentityValue = scope_identity()
1193             
1194                 or
1195             
1196                 select TimestampValue
1197                 from dbo.MyTable
1198                 where @@ROWCOUNT > 0 and Id = 1
1199             
1200                 Note that we filter on rowcount to ensure no rows are returned if no rows were modified.
1201             
1202                 On SQL Server 2005 and up, we have an additional syntax used for non integer return types:
1203             
1204                 declare @generatedValues table(ID uniqueidentifier)
1205                 insert dbo.MyTable
1206                 output ID into @generated_values
1207                 values (...);
1208                 select ID
1209                 from @generatedValues as g join dbo.MyTable as t on g.ID = t.ID
1210                 where @@ROWCOUNT > 0;</code>
1211             </summary>
1212             <param name="commandText"> Builder containing command text </param>
1213             <param name="tree"> Modification command tree </param>
1214             <param name="tableType"> Type of table. </param>
1215             <param name="translator"> Translator used to produce DML SQL statement for the tree </param>
1216             <param name="returning"> Returning expression. If null, the method returns immediately without producing a SELECT statement. </param>
1217         </member>
1218         <member name="T:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.ExpressionTranslator">
1219             <summary>
1220             Lightweight expression translator for DML expression trees, which have constrained
1221             scope and support.
1222             </summary>
1223         </member>
1224         <member name="M:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.ExpressionTranslator.#ctor(System.Data.Entity.SqlServer.SqlGen.SqlStringBuilder,System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree,System.Boolean,System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Collections.Generic.ICollection{System.Data.Entity.Core.Metadata.Edm.EdmProperty},System.Boolean)">
1225             <summary>
1226             Initialize a new expression translator populating the given string builder
1227             with command text. Command text builder and command tree must not be null.
1228             </summary>
1229             <param name="commandText"> Command text with which to populate commands </param>
1230             <param name="commandTree"> Command tree generating SQL </param>
1231             <param name="preserveMemberValues"> Indicates whether the translator should preserve member values while compiling t-SQL (only needed for server generation) </param>
1232         </member>
1233         <member name="M:System.Data.Entity.SqlServer.SqlGen.DmlSqlGenerator.ExpressionTranslator.RegisterMemberValue(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
1234             <summary>
1235             Call this method to register a property value pair so the translator "remembers"
1236             the values for members of the row being modified. These values can then be used
1237             to form a predicate for server-generation (based on the key of the row)
1238             </summary>
1239             <param name="propertyExpression"> DbExpression containing the column reference (property expression). </param>
1240             <param name="value"> DbExpression containing the value of the column. </param>
1241         </member>
1242         <member name="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator">
1243             <summary>
1244             Provider to convert provider agnostic migration operations into SQL commands
1245             that can be run against a Microsoft SQL Server database.
1246             </summary>
1247         </member>
1248         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Collections.Generic.IEnumerable{System.Data.Entity.Migrations.Model.MigrationOperation},System.String)">
1249             <summary>
1250             Converts a set of migration operations into Microsoft SQL Server specific SQL.
1251             </summary>
1252             <param name="migrationOperations"> The operations to be converted. </param>
1253             <param name="providerManifestToken"> Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). </param>
1254             <returns> A list of SQL statements to be executed to perform the migration operations. </returns>
1255         </member>
1256         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateProcedureBody(System.Collections.Generic.ICollection{System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree},System.String,System.String)">
1257             <summary>
1258             Generates the SQL body for a stored procedure.
1259             </summary>
1260             <param name="commandTrees">The command trees representing the commands for an insert, update or delete operation.</param>
1261             <param name="rowsAffectedParameter">The rows affected parameter name.</param>
1262             <param name="providerManifestToken">The provider manifest token.</param>
1263             <returns>The SQL body for the stored procedure.</returns>
1264         </member>
1265         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.UpdateDatabaseOperation)">
1266             <summary>
1267             Generates the specified update database operation which represents applying a series of migrations.
1268             The generated script is idempotent, meaning it contains conditional logic to check if individual migrations 
1269             have already been applied and only apply the pending ones.
1270             </summary>
1271             <param name="updateDatabaseOperation">The update database operation.</param>
1272         </member>
1273         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MigrationOperation)">
1274             <summary>
1275             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MigrationOperation"/>.
1276             Allows derived providers to handle additional operation types.
1277             Generated SQL should be added using the Statement method.
1278             </summary>
1279             <param name="migrationOperation"> The operation to produce SQL for. </param>
1280         </member>
1281         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.CreateConnection">
1282             <summary>
1283             Creates an empty connection for the current provider.
1284             Allows derived providers to use connection other than <see cref="T:System.Data.SqlClient.SqlConnection"/>.
1285             </summary>
1286             <returns> An empty connection for the current provider. </returns>
1287         </member>
1288         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateProcedureOperation)">
1289             <summary>
1290             Generates the specified create procedure operation.
1291             </summary>
1292             <param name="createProcedureOperation">The create procedure operation.</param>
1293         </member>
1294         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterProcedureOperation)">
1295             <summary>
1296             Generates the specified alter procedure operation.
1297             </summary>
1298             <param name="alterProcedureOperation">The alter procedure operation.</param>
1299         </member>
1300         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropProcedureOperation)">
1301             <summary>
1302             Generates the specified drop procedure operation.
1303             </summary>
1304             <param name="dropProcedureOperation">The drop procedure operation.</param>
1305         </member>
1306         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
1307             <summary>
1308             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateTableOperation"/>.
1309             Generated SQL should be added using the Statement method.
1310             </summary>
1311             <param name="createTableOperation"> The operation to produce SQL for. </param>
1312         </member>
1313         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateMakeSystemTable(System.Data.Entity.Migrations.Model.CreateTableOperation,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
1314             <summary>
1315             Generates SQL to mark a table as a system table.
1316             Generated SQL should be added using the Statement method.
1317             </summary>
1318             <param name="createTableOperation"> The table to mark as a system table. </param>
1319             <param name="writer"> The <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> to write the generated SQL to. </param>
1320         </member>
1321         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateCreateSchema(System.String)">
1322             <summary>
1323             Generates SQL to create a database schema.
1324             Generated SQL should be added using the Statement method.
1325             </summary>
1326             <param name="schema"> The name of the schema to create. </param>
1327         </member>
1328         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
1329             <summary>
1330             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddForeignKeyOperation"/>.
1331             Generated SQL should be added using the Statement method.
1332             </summary>
1333             <param name="addForeignKeyOperation"> The operation to produce SQL for. </param>
1334         </member>
1335         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
1336             <summary>
1337             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropForeignKeyOperation"/>.
1338             Generated SQL should be added using the Statement method.
1339             </summary>
1340             <param name="dropForeignKeyOperation"> The operation to produce SQL for. </param>
1341         </member>
1342         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
1343             <summary>
1344             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateIndexOperation"/>.
1345             Generated SQL should be added using the Statement method.
1346             </summary>
1347             <param name="createIndexOperation"> The operation to produce SQL for. </param>
1348         </member>
1349         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
1350             <summary>
1351             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropIndexOperation"/>.
1352             Generated SQL should be added using the Statement method.
1353             </summary>
1354             <param name="dropIndexOperation"> The operation to produce SQL for. </param>
1355         </member>
1356         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
1357             <summary>
1358             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation"/>.
1359             Generated SQL should be added using the Statement method.
1360             </summary>
1361             <param name="addPrimaryKeyOperation"> The operation to produce SQL for. </param>
1362         </member>
1363         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
1364             <summary>
1365             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation"/>.
1366             Generated SQL should be added using the Statement method.
1367             </summary>
1368             <param name="dropPrimaryKeyOperation"> The operation to produce SQL for. </param>
1369         </member>
1370         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
1371             <summary>
1372             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddColumnOperation"/>.
1373             Generated SQL should be added using the Statement method.
1374             </summary>
1375             <param name="addColumnOperation"> The operation to produce SQL for. </param>
1376         </member>
1377         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
1378             <summary>
1379             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropColumnOperation"/>.
1380             Generated SQL should be added using the Statement method.
1381             </summary>
1382             <param name="dropColumnOperation"> The operation to produce SQL for. </param>
1383         </member>
1384         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
1385             <summary>
1386             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AlterColumnOperation"/>.
1387             Generated SQL should be added using the Statement method.
1388             </summary>
1389             <param name="alterColumnOperation"> The operation to produce SQL for. </param>
1390         </member>
1391         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
1392             <summary>
1393             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropTableOperation"/>.
1394             Generated SQL should be added using the Statement method.
1395             </summary>
1396             <param name="dropTableOperation"> The operation to produce SQL for. </param>
1397         </member>
1398         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
1399             <summary>
1400             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.SqlOperation"/>.
1401             Generated SQL should be added using the Statement method.
1402             </summary>
1403             <param name="sqlOperation"> The operation to produce SQL for. </param>
1404         </member>
1405         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
1406             <summary>
1407             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameColumnOperation"/>.
1408             Generated SQL should be added using the Statement method.
1409             </summary>
1410             <param name="renameColumnOperation"> The operation to produce SQL for. </param>
1411         </member>
1412         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
1413             <summary>
1414             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameTableOperation"/>.
1415             Generated SQL should be added using the Statement method.
1416             </summary>
1417             <param name="renameTableOperation"> The operation to produce SQL for. </param>
1418         </member>
1419         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameProcedureOperation)">
1420             <summary>
1421             Generates the specified rename procedure operation.
1422             </summary>
1423             <param name="renameProcedureOperation">The rename procedure operation.</param>
1424         </member>
1425         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveProcedureOperation)">
1426             <summary>
1427             Generates the specified move procedure operation.
1428             </summary>
1429             <param name="moveProcedureOperation">The move procedure operation.</param>
1430         </member>
1431         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
1432             <summary>
1433             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MoveTableOperation"/>.
1434             Generated SQL should be added using the Statement method.
1435             </summary>
1436             <param name="moveTableOperation"> The operation to produce SQL for. </param>
1437         </member>
1438         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.HistoryOperation)">
1439             <summary>
1440             Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.HistoryOperation"/>.
1441             Generated SQL should be added using the Statement method.
1442             </summary>
1443             <param name="historyOperation"> The operation to produce SQL for. </param>
1444         </member>
1445         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Byte[])">
1446             <summary>
1447             Generates SQL to specify a constant byte[] default value being set on a column.
1448             This method just generates the actual value, not the SQL to set the default value.
1449             </summary>
1450             <param name="defaultValue"> The value to be set. </param>
1451             <returns> SQL representing the default value. </returns>
1452         </member>
1453         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Boolean)">
1454             <summary>
1455             Generates SQL to specify a constant bool default value being set on a column.
1456             This method just generates the actual value, not the SQL to set the default value.
1457             </summary>
1458             <param name="defaultValue"> The value to be set. </param>
1459             <returns> SQL representing the default value. </returns>
1460         </member>
1461         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTime)">
1462             <summary>
1463             Generates SQL to specify a constant DateTime default value being set on a column.
1464             This method just generates the actual value, not the SQL to set the default value.
1465             </summary>
1466             <param name="defaultValue"> The value to be set. </param>
1467             <returns> SQL representing the default value. </returns>
1468         </member>
1469         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTimeOffset)">
1470             <summary>
1471             Generates SQL to specify a constant DateTimeOffset default value being set on a column.
1472             This method just generates the actual value, not the SQL to set the default value.
1473             </summary>
1474             <param name="defaultValue"> The value to be set. </param>
1475             <returns> SQL representing the default value. </returns>
1476         </member>
1477         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Guid)">
1478             <summary>
1479             Generates SQL to specify a constant Guid default value being set on a column.
1480             This method just generates the actual value, not the SQL to set the default value.
1481             </summary>
1482             <param name="defaultValue"> The value to be set. </param>
1483             <returns> SQL representing the default value. </returns>
1484         </member>
1485         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.String)">
1486             <summary>
1487             Generates SQL to specify a constant string default value being set on a column.
1488             This method just generates the actual value, not the SQL to set the default value.
1489             </summary>
1490             <param name="defaultValue"> The value to be set. </param>
1491             <returns> SQL representing the default value. </returns>
1492         </member>
1493         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.TimeSpan)">
1494             <summary>
1495             Generates SQL to specify a constant TimeSpan default value being set on a column.
1496             This method just generates the actual value, not the SQL to set the default value.
1497             </summary>
1498             <param name="defaultValue"> The value to be set. </param>
1499             <returns> SQL representing the default value. </returns>
1500         </member>
1501         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeography)">
1502             <summary>
1503             Generates SQL to specify a constant geogrpahy default value being set on a column.
1504             This method just generates the actual value, not the SQL to set the default value.
1505             </summary>
1506             <param name="defaultValue"> The value to be set. </param>
1507             <returns> SQL representing the default value. </returns>
1508         </member>
1509         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeometry)">
1510             <summary>
1511             Generates SQL to specify a constant geometry default value being set on a column.
1512             This method just generates the actual value, not the SQL to set the default value.
1513             </summary>
1514             <param name="defaultValue"> The value to be set. </param>
1515             <returns> SQL representing the default value. </returns>
1516         </member>
1517         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Object)">
1518             <summary>
1519             Generates SQL to specify a constant default value being set on a column.
1520             This method just generates the actual value, not the SQL to set the default value.
1521             </summary>
1522             <param name="defaultValue"> The value to be set. </param>
1523             <returns> SQL representing the default value. </returns>
1524         </member>
1525         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.BuildColumnType(System.Data.Entity.Migrations.Model.ColumnModel)">
1526             <summary>
1527             Generates SQL to specify the data type of a column.
1528             This method just generates the actual type, not the SQL to create the column.
1529             </summary>
1530             <param name="columnModel"> The definition of the column. </param>
1531             <returns> SQL representing the data type. </returns>
1532         </member>
1533         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Name(System.String)">
1534             <summary>
1535             Generates a quoted name. The supplied name may or may not contain the schema.
1536             </summary>
1537             <param name="name"> The name to be quoted. </param>
1538             <returns> The quoted name. </returns>
1539         </member>
1540         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Quote(System.String)">
1541             <summary>
1542             Quotes an identifier for SQL Server.
1543             </summary>
1544             <param name="identifier"> The identifier to be quoted. </param>
1545             <returns> The quoted identifier. </returns>
1546         </member>
1547         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.String,System.Boolean,System.String)">
1548             <summary>
1549             Adds a new Statement to be executed against the database.
1550             </summary>
1551             <param name="sql"> The statement to be executed. </param>
1552             <param name="suppressTransaction"> Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. </param>
1553         </member>
1554         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Writer">
1555             <summary>
1556             Gets a new <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> that can be used to build SQL.
1557             This is just a helper method to create a writer. Writing to the writer will
1558             not cause SQL to be registered for execution. You must pass the generated
1559             SQL to the Statement method.
1560             </summary>
1561             <returns> An empty text writer to use for SQL generation. </returns>
1562         </member>
1563         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.Data.Entity.Migrations.Utilities.IndentedTextWriter,System.String)">
1564             <summary>
1565             Adds a new Statement to be executed against the database.
1566             </summary>
1567             <param name="writer"> The writer containing the SQL to be executed. </param>
1568         </member>
1569         <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.ResolveNameConflicts(System.Data.Entity.Migrations.Model.CreateTableOperation)">
1570             <summary>
1571             Creates a shallow copy of the source CreateTableOperation and the associated
1572             AddPrimaryKeyOperation but renames the table and the primary key in order
1573             to avoid name conflicts with existing objects.
1574             </summary>
1575         </member>
1576         <member name="P:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GuidColumnDefault">
1577             <summary>
1578             Returns the column default value to use for store-generated GUID columns when
1579             no default value is explicitly specified in the migration.
1580             Returns newsequentialid() for on-premises SQL Server 2005 and later.
1581             Returns newid() for SQL Azure.
1582             </summary>
1583             <value>Either newsequentialid() or newid() as described above.</value>
1584         </member>
1585         <member name="T:System.Data.Entity.SqlServer.SqlSpatialFunctions">
1586             <summary>
1587             Contains function stubs that expose SqlServer methods in Linq to Entities.
1588             </summary>
1589         </member>
1590         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeography(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
1591             <summary>Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
1592             <returns>The constructed geography instance.</returns>
1593             <param name="latitude">The x-coordinate of the Point being generated.</param>
1594             <param name="longitude">The y-coordinate of the Point being generated</param>
1595             <param name="spatialReferenceId">The SRID of the geography instance.</param>
1596         </member>
1597         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeography)">
1598             <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
1599             <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance.</returns>
1600             <param name="geographyValue">The geography value.</param>
1601         </member>
1602         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
1603             <summary>Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
1604             <returns>The union of all point values whose distance from a geography instance is less than or equal to a specified value</returns>
1605             <param name="geographyValue">The geography value.</param>
1606             <param name="distance">The distance.</param>
1607             <param name="tolerance">The specified tolerance.</param>
1608             <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
1609         </member>
1610         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeAngle(System.Data.Entity.Spatial.DbGeography)">
1611             <summary>Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees.</summary>
1612             <returns>the maximum angle between the point returned by EnvelopeCenter().</returns>
1613             <param name="geographyValue">The geography value.</param>
1614         </member>
1615         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeCenter(System.Data.Entity.Spatial.DbGeography)">
1616             <summary>Returns a point that can be used as the center of a bounding circle for the geography instance.</summary>
1617             <returns>A SqlGeography value that specifies the location of the center of a bounding circle.</returns>
1618             <param name="geographyValue">The geography value.</param>
1619         </member>
1620         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
1621             <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available.</summary>
1622             <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
1623             <param name="geographyValue">The geography value.</param>
1624             <param name="geographyOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
1625         </member>
1626         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeography,System.String)">
1627             <summary>Tests if the SqlGeography instance is the same as the specified type.</summary>
1628             <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
1629             <param name="geographyValue">The geography value.</param>
1630             <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
1631         </member>
1632         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.NumRings(System.Data.Entity.Spatial.DbGeography)">
1633             <summary>Returns the total number of rings in a Polygon instance.</summary>
1634             <returns>The total number of rings.</returns>
1635             <param name="geographyValue">The geography value.</param>
1636         </member>
1637         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double})">
1638             <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
1639             <returns>
1640             Returns <see cref="T:System.Data.Entity.Spatial.DbGeography" />.
1641             </returns>
1642             <param name="geographyValue">The geography value.</param>
1643             <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
1644         </member>
1645         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.RingN(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Int32})">
1646             <summary>Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings().</summary>
1647             <returns>A SqlGeography object that represents the ring specified by n.</returns>
1648             <param name="geographyValue">The geography value.</param>
1649             <param name="index">An int expression between 1 and the number of rings in a polygon instance.</param>
1650         </member>
1651         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeometry(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
1652             <summary>Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
1653             <returns>The constructed geometry instance.</returns>
1654             <param name="xCoordinate">The x-coordinate of the Point being generated.</param>
1655             <param name="yCoordinate">The y-coordinate of the Point being generated</param>
1656             <param name="spatialReferenceId">The SRID of the geography instance.</param>
1657         </member>
1658         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeometry)">
1659             <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
1660             <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance.</returns>
1661             <param name="geometryValue">The geometry value.</param>
1662         </member>
1663         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
1664             <summary>Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
1665             <returns>The union of all point values whose distance from a geometry instance is less than or equal to a specified value</returns>
1666             <param name="geometryValue">The geometry value.</param>
1667             <param name="distance">The distance.</param>
1668             <param name="tolerance">The specified tolerance.</param>
1669             <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
1670         </member>
1671         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeometry,System.String)">
1672             <summary>Tests if the SqlGeometry instance is the same as the specified type.</summary>
1673             <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
1674             <param name="geometryValue">The geometry value.</param>
1675             <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
1676         </member>
1677         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
1678             <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available.</summary>
1679             <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
1680             <param name="geometryValue">The geometry value.</param>
1681             <param name="geometryOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
1682         </member>
1683         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.MakeValid(System.Data.Entity.Spatial.DbGeometry)">
1684             <summary>Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. </summary>
1685             <returns>The converted geometry instance.</returns>
1686             <param name="geometryValue">The geometry value.</param>
1687         </member>
1688         <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double})">
1689             <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
1690             <returns>
1691             Returns <see cref="T:System.Data.Entity.Spatial.DbGeometry" />.
1692             </returns>
1693             <param name="geometryValue">The geometry value.</param>
1694             <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
1695         </member>
1696         <member name="M:System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.#ctor(System.Data.Entity.SqlServer.SqlTypesAssembly)">
1697             <summary>
1698             Used to create an instance of <see cref="T:System.Data.Entity.SqlServer.SqlTypesAssemblyLoader"/> for a specific SQL Types assembly
1699             such that it can be used for converting EF spatial types backed by one version to those backed by
1700             the version actually in use in this app domain.
1701             </summary>
1702         </member>
1703         <member name="M:System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.TryGetSqlTypesAssembly">
1704             <summary>
1705             Returns the highest available version of the Microsoft.SqlServer.Types assembly that could be
1706             located using Assembly.Load; may return <c>null</c> if no version of the assembly could be found.
1707             </summary>
1708         </member>
1709         <member name="T:System.Data.Entity.SqlServer.SqlVersionUtils">
1710             <summary>
1711             This class is a simple utility class that determines the SQL Server version from the
1712             connection.
1713             </summary>
1714         </member>
1715         <member name="M:System.Data.Entity.SqlServer.SqlVersionUtils.GetSqlVersion(System.Data.Common.DbConnection)">
1716             <summary>
1717             Get the SqlVersion from the connection. Returns one of Sql8, Sql9, Sql10, Sql11
1718             The passed connection must be open
1719             </summary>
1720             <param name="connection"> current sql connection </param>
1721             <returns> Sql Version for the current connection </returns>
1722         </member>
1723         <member name="T:System.Data.Entity.SqlServer.Utilities.SqlDataReaderWrapper">
1724             <summary>
1725             This is a wrapper for <see cref="T:System.Data.SqlClient.SqlDataReader"/> that allows a mock implementation to be used.
1726             </summary>
1727         </member>
1728         <member name="M:System.Data.Entity.SqlServer.Utilities.DbExpressionExtensions.GetLeafNodes(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Func{System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Collections.Generic.IEnumerable{System.Data.Entity.Core.Common.CommandTrees.DbExpression}})">
1729             <summary>
1730             Uses a stack to non-recursively traverse a given tree structure and retrieve the leaf nodes.
1731             </summary>
1732             <param name="root"> The node that represents the root of the tree. </param>
1733             <param name="kind"> Expressions not of this kind are considered leaves. </param>
1734             <param name="getChildNodes">
1735             A function that traverses the tree by retrieving the <b>immediate</b> descendants of a (non-leaf) node.
1736             </param>
1737             <returns> An enumerable containing the leaf nodes. </returns>
1738         </member>
1739         <member name="T:System.Data.Entity.SqlServer.SqlGen.ISqlFragment">
1740             <summary>
1741             Represents the sql fragment for any node in the query tree.
1742             </summary>
1743             <remarks>
1744             The nodes in a query tree produce various kinds of sql
1745             <list type="bullet">
1746                 <item>A select statement.</item>
1747                 <item>A reference to an extent. (symbol)</item>
1748                 <item>A raw string.</item>
1749             </list>
1750             We have this interface to allow for a common return type for the methods
1751             in the expression visitor <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionVisitor`1"/>
1752             Add the endd of translation, the sql fragments are converted into real strings.
1753             </remarks>
1754         </member>
1755         <member name="M:System.Data.Entity.SqlServer.SqlGen.ISqlFragment.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
1756             <summary>
1757             Write the string represented by this fragment into the stream.
1758             </summary>
1759             <param name="writer"> The stream that collects the strings. </param>
1760             <param name="sqlGenerator"> Context information used for renaming. The global lists are used to generated new names without collisions. </param>
1761         </member>
1762         <member name="T:System.Data.Entity.SqlServer.SqlGen.JoinSymbol">
1763             <summary>
1764             A Join symbol is a special kind of Symbol.
1765             It has to carry additional information
1766             <list type="bullet">
1767                 <item>
1768                     ColumnList for the list of columns in the select clause if this
1769                     symbol represents a sql select statement.  This is set by
1770                     <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>
1771                     .
1772                 </item>
1773                 <item>ExtentList is the list of extents in the select clause.</item>
1774                 <item>
1775                     FlattenedExtentList - if the Join has multiple extents flattened at the
1776                     top level, we need this information to ensure that extent aliases are renamed
1777                     correctly in
1778                     <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)"/>
1779                 </item>
1780                 <item>
1781                     NameToExtent has all the extents in ExtentList as a dictionary.
1782                     This is used by
1783                     <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>
1784                     to flatten
1785                     record accesses.
1786                 </item>
1787                 <item>
1788                     IsNestedJoin - is used to determine whether a JoinSymbol is an
1789                     ordinary join symbol, or one that has a corresponding SqlSelectStatement.
1790                 </item>
1791             </list>
1792             All the lists are set exactly once, and then used for lookups/enumerated.
1793             </summary>
1794         </member>
1795         <member name="T:System.Data.Entity.SqlServer.SqlGen.Symbol">
1796             <summary>
1797             <see cref="T:System.Data.Entity.SqlServer.SqlGen.SymbolTable"/>
1798             This class represents an extent/nested select statement,
1799             or a column.
1800             The important fields are Name, Type and NewName.
1801             NewName starts off the same as Name, and is then modified as necessary.
1802             The rest are used by special symbols.
1803             e.g. NeedsRenaming is used by columns to indicate that a new name must
1804             be picked for the column in the second phase of translation.
1805             IsUnnest is used by symbols for a collection expression used as a from clause.
1806             This allows <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddFromSymbol(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.SqlServer.SqlGen.Symbol,System.Boolean)"/> to add the column list
1807             after the alias.
1808             </summary>
1809         </member>
1810         <member name="F:System.Data.Entity.SqlServer.SqlGen.Symbol.columns">
1811             <summary>
1812             Used to track the columns originating from this Symbol when it is used
1813             in as a from extent in a SqlSelectStatement with a Join or as a From Extent
1814             in a Join Symbol.
1815             </summary>
1816         </member>
1817         <member name="F:System.Data.Entity.SqlServer.SqlGen.Symbol.outputColumns">
1818             <summary>
1819             Used to track the output columns of a SqlSelectStatement it represents
1820             </summary>
1821         </member>
1822         <member name="M:System.Data.Entity.SqlServer.SqlGen.Symbol.#ctor(System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.Symbol},System.Boolean)">
1823             <summary>
1824             Use this constructor if the symbol represents a SqlStatement for which the output columns need to be tracked.
1825             </summary>
1826         </member>
1827         <member name="M:System.Data.Entity.SqlServer.SqlGen.Symbol.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
1828             <summary>
1829             Write this symbol out as a string for sql.  This is just
1830             the new name of the symbol (which could be the same as the old name).
1831             We rename columns here if necessary.
1832             </summary>
1833         </member>
1834         <member name="T:System.Data.Entity.SqlServer.SqlGen.OptionalColumn">
1835             <summary>
1836             Represents a column in a select list that should be printed only if it is later used.
1837             Such columns get added by <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>.
1838             The SymbolUsageManager associated with the OptionalColumn has the information whether the column
1839             has been used based on its symbol.
1840             </summary>
1841         </member>
1842         <member name="M:System.Data.Entity.SqlServer.SqlGen.OptionalColumn.Append(System.Object)">
1843             <summary>
1844             Append to the "fragment" representing this column
1845             </summary>
1846         </member>
1847         <member name="M:System.Data.Entity.SqlServer.SqlGen.OptionalColumn.WriteSqlIfUsed(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String)">
1848             <summary>
1849             Writes that fragment that represents the optional column
1850             if the usage manager says it is used.
1851             </summary>
1852         </member>
1853         <member name="T:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker">
1854             <summary>
1855             The Sql8ConformanceChecker walks a DbExpression tree and determines whether
1856             it should be rewritten in order to be translated to SQL appropriate for SQL Server 2000.
1857             The tree should be rewritten if it contains any of the following expressions:
1858             <list type="bullet">
1859                 <item>
1860                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/>
1861                 </item>
1862                 <item>
1863                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression"/>
1864                 </item>
1865                 <item>
1866                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>
1867                 </item>
1868             </list>
1869             Also, it throws if it determines that the tree can not
1870             be translated into SQL appropriate for SQL Server 2000.
1871             This happens if:
1872             <list type="bullet">
1873                 <item>
1874                     The tree contains
1875                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression"/>
1876                 </item>
1877                 <item>
1878                     The tree contains
1879                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbLimitExpression"/>
1880                     with property Limit of type
1881                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbParameterReferenceExpression"/>
1882                 </item>
1883                 <item>
1884                     The tree contains
1885                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>
1886                     with property Count of type
1887                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbParameterReferenceExpression"/>
1888                 </item>
1889             </list>
1890             The visitor only checks for expressions for which the support differs between SQL Server 2000 and SQL Server 2005,
1891             but does not check/throw for expressions that are not supported for both providers.
1892             Implementation note: In the cases when the visitor encounters an expression that requires rewrite,
1893             it still needs to walk its structure in case something below it is not supported and needs to throw.
1894             </summary>
1895         </member>
1896         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.NeedsRewrite(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
1897             <summary>
1898             The entry point
1899             </summary>
1900             <returns> True if the tree needs to be rewriten, false otherwise </returns>
1901         </member>
1902         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.#ctor">
1903             <summary>
1904             Default Constructor
1905             </summary>
1906         </member>
1907         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)">
1908             <summary>
1909             Default handling for DbUnaryExpression-derived classes. Simply visits its argument
1910             </summary>
1911             <param name="expr"> The DbUnaryExpression to visit </param>
1912         </member>
1913         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitBinaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression)">
1914             <summary>
1915             Default handling for DbBinaryExpression-derived classes. Visits both arguments.
1916             </summary>
1917             <param name="expr"> The DbBinaryExpression to visit </param>
1918         </member>
1919         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitAggregate(System.Data.Entity.Core.Common.CommandTrees.DbAggregate)">
1920             <summary>
1921             Walks the structure
1922             </summary>
1923         </member>
1924         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitExpressionBinding(System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding)">
1925             <summary>
1926             DbExpressionBinding handler
1927             </summary>
1928         </member>
1929         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
1930             <summary>
1931             Used as handler for expressions
1932             </summary>
1933         </member>
1934         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitSortClause(System.Data.Entity.Core.Common.CommandTrees.DbSortClause)">
1935             <summary>
1936             Used as handler for SortClauses
1937             </summary>
1938         </member>
1939         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitList``1(System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.ListElementHandler{``0},System.Collections.Generic.IList{``0})">
1940             <summary>
1941             Helper method for iterating a list
1942             </summary>
1943         </member>
1944         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitAggregateList(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbAggregate})">
1945             <summary>
1946             Handing for list of <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding"/>s.
1947             </summary>
1948         </member>
1949         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitExpressionBindingList(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding})">
1950             <summary>
1951             Handing for list of <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding"/>s.
1952             </summary>
1953         </member>
1954         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitExpressionList(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression})">
1955             <summary>
1956             Handing for list of <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpression"/>s.
1957             </summary>
1958         </member>
1959         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitSortClauseList(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbSortClause})">
1960             <summary>
1961             Handling for list of <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSortClause"/>s.
1962             </summary>
1963         </member>
1964         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
1965             <summary>
1966             Called when an <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpression"/> of an otherwise unrecognized type is encountered.
1967             </summary>
1968             <param name="expression"> The expression </param>
1969             <exception cref="T:System.NotSupportedException">
1970             Always thrown if this method is called, since it indicates that
1971             <paramref name="expression"/>
1972             is of an unsupported type
1973             </exception>
1974         </member>
1975         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbAndExpression)">
1976             <summary>
1977             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitBinaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression)"/>
1978             </summary>
1979             <param name="expression"> The DbAndExpression that is being visited. </param>
1980         </member>
1981         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression)">
1982             <summary>
1983             Not supported on SQL Server 2000.
1984             </summary>
1985             <param name="expression"> The DbApplyExpression that is being visited. </param>
1986             <exception cref="T:System.NotSupportedException">Always</exception>
1987         </member>
1988         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbArithmeticExpression)">
1989             <summary>
1990             Default handling for DbArithmeticExpression. Visits all arguments.
1991             </summary>
1992             <param name="expression"> The DbArithmeticExpression that is being visited. </param>
1993         </member>
1994         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCaseExpression)">
1995             <summary>
1996             Walks the strucutre
1997             </summary>
1998             <param name="expression"> The DbCaseExpression that is being visited. </param>
1999         </member>
2000         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCastExpression)">
2001             <summary>
2002             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2003             </summary>
2004             <param name="expression"> The DbCastExpression that is being visited. </param>
2005         </member>
2006         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbComparisonExpression)">
2007             <summary>
2008             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitBinaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression)"/>
2009             </summary>
2010             <param name="expression"> The DbComparisonExpression that is being visited. </param>
2011         </member>
2012         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression)">
2013             <summary>
2014             Returns false
2015             </summary>
2016             <param name="expression"> The DbConstantExpression that is being visited. </param>
2017         </member>
2018         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCrossJoinExpression)">
2019             <summary>
2020             Walks the structure
2021             </summary>
2022             <param name="expression"> The DbCrossJoinExpression that is being visited. </param>
2023         </member>
2024         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbDerefExpression)">
2025             <summary>
2026             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2027             </summary>
2028             <param name="expression"> The DeRefExpression that is being visited. </param>
2029         </member>
2030         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbDistinctExpression)">
2031             <summary>
2032             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2033             </summary>
2034             <param name="expression"> The DbDistinctExpression that is being visited. </param>
2035         </member>
2036         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbElementExpression)">
2037             <summary>
2038             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2039             </summary>
2040             <param name="expression"> The DbElementExpression that is being visited. </param>
2041         </member>
2042         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbEntityRefExpression)">
2043             <summary>
2044             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2045             </summary>
2046             <param name="expression"> The DbEntityRefExpression that is being visited. </param>
2047         </member>
2048         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)">
2049             <summary>
2050             Returns true, the tree needs to be rewritten.
2051             </summary>
2052             <param name="expression"> The DbExceptExpression that is being visited. </param>
2053         </member>
2054         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)">
2055             <summary>
2056             Walks the structure
2057             </summary>
2058             <param name="expression"> The DbFilterExpression that is being visited. </param>
2059         </member>
2060         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2061             <summary>
2062             Visits the arguments
2063             </summary>
2064             <param name="expression"> The DbFunctionExpression that is being visited. </param>
2065         </member>
2066         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLambdaExpression)">
2067             <summary>
2068             Visits the arguments and lambda body
2069             </summary>
2070             <param name="expression"> The DbLambdaExpression that is being visited. </param>
2071         </member>
2072         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbGroupByExpression)">
2073             <summary>
2074             Walks the structure
2075             </summary>
2076             <param name="expression"> The DbExpression that is being visited. </param>
2077         </member>
2078         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)">
2079             <summary>
2080             Returns true.
2081             </summary>
2082             <param name="expression"> The DbIntersectExpression that is being visited. </param>
2083         </member>
2084         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)">
2085             <summary>
2086             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2087             </summary>
2088             <param name="expression"> The DbIsEmptyExpression that is being visited. </param>
2089         </member>
2090         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression)">
2091             <summary>
2092             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2093             </summary>
2094             <param name="expression"> The DbIsNullExpression that is being visited. </param>
2095         </member>
2096         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsOfExpression)">
2097             <summary>
2098             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2099             </summary>
2100             <param name="expression"> The DbIsOfExpression that is being visited. </param>
2101         </member>
2102         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression)">
2103             <summary>
2104             Walks the structure
2105             </summary>
2106             <param name="expression"> The DbJoinExpression that is being visited. </param>
2107         </member>
2108         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLikeExpression)">
2109             <summary>
2110             Walks the structure
2111             </summary>
2112             <param name="expression"> The DbLikeExpression that is being visited. </param>
2113         </member>
2114         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLimitExpression)">
2115             <summary>
2116             Walks the structure
2117             </summary>
2118             <exception cref="T:System.NotSupportedException">expression.Limit is DbParameterReferenceExpression</exception>
2119         </member>
2120         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
2121             <summary>
2122             Walks the arguments
2123             </summary>
2124             <param name="expression"> The DbNewInstanceExpression that is being visited. </param>
2125         </member>
2126         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNotExpression)">
2127             <summary>
2128             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2129             </summary>
2130             <param name="expression"> The DbNotExpression that is being visited. </param>
2131         </member>
2132         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNullExpression)">
2133             <summary>
2134             Returns false
2135             </summary>
2136             <param name="expression"> The DbNullExpression that is being visited. </param>
2137             <returns> false </returns>
2138         </member>
2139         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOfTypeExpression)">
2140             <summary>
2141             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2142             </summary>
2143             <param name="expression"> The DbOfTypeExpression that is being visited. </param>
2144         </member>
2145         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOrExpression)">
2146             <summary>
2147             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitBinaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression)"/>
2148             </summary>
2149             <param name="expression"> The DbOrExpression that is being visited. </param>
2150         </member>
2151         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbInExpression)">
2152             <summary>
2153             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbInExpression"/>
2154             </summary>
2155             <param name="expression"> The DbInExpression that is being visited. </param>
2156         </member>
2157         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbParameterReferenceExpression)">
2158             <summary>
2159             Returns false
2160             </summary>
2161             <param name="expression"> The DbParameterReferenceExpression that is being visited. </param>
2162         </member>
2163         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)">
2164             <summary>
2165             Walks the structure
2166             </summary>
2167             <param name="expression"> The DbProjectExpression that is being visited. </param>
2168         </member>
2169         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)">
2170             <summary>
2171             Returns false
2172             </summary>
2173             <param name="expression"> The DbPropertyExpression that is being visited. </param>
2174         </member>
2175         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)">
2176             <summary>
2177             Walks the structure
2178             </summary>
2179             <param name="expression"> The DbQuantifierExpression that is being visited. </param>
2180         </member>
2181         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRefExpression)">
2182             <summary>
2183             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2184             </summary>
2185             <param name="expression"> The DbRefExpression that is being visited. </param>
2186         </member>
2187         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRefKeyExpression)">
2188             <summary>
2189             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2190             </summary>
2191             <param name="expression"> The DbRefKeyExpression that is being visited. </param>
2192         </member>
2193         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRelationshipNavigationExpression)">
2194             <summary>
2195             Walks the structure
2196             </summary>
2197             <param name="expression"> The DbRelationshipNavigationExpression that is being visited. </param>
2198         </member>
2199         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbScanExpression)">
2200             <summary>
2201             Returns false;
2202             </summary>
2203             <param name="expression"> The DbScanExpression that is being visited. </param>
2204         </member>
2205         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression)">
2206             <summary>
2207             Resturns true
2208             </summary>
2209             <exception cref="T:System.NotSupportedException">expression.Count is DbParameterReferenceExpression</exception>
2210         </member>
2211         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSortExpression)">
2212             <summary>
2213             Walks the structure
2214             </summary>
2215             <param name="expression"> The DbSortExpression that is being visited. </param>
2216         </member>
2217         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbTreatExpression)">
2218             <summary>
2219             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitUnaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression)"/>
2220             </summary>
2221             <param name="expression"> The DbTreatExpression that is being visited. </param>
2222         </member>
2223         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)">
2224             <summary>
2225             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitBinaryExpression(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression)"/>
2226             </summary>
2227             <param name="expression"> The DbUnionAllExpression that is being visited. </param>
2228         </member>
2229         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)">
2230             <summary>
2231             Returns false
2232             </summary>
2233             <param name="expression"> The DbVariableReferenceExpression that is being visited. </param>
2234             <returns> false </returns>
2235         </member>
2236         <member name="T:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.ListElementHandler`1">
2237             <summary>
2238             Used for <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.VisitList``1(System.Data.Entity.SqlServer.SqlGen.Sql8ConformanceChecker.ListElementHandler{``0},System.Collections.Generic.IList{``0})"/>
2239             </summary>
2240         </member>
2241         <member name="T:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter">
2242             <summary>
2243             Rewrites an expression tree to make it suitable for translation to SQL appropriate for SQL Server 2000
2244             In particular, it replaces expressions that are not directly supported on SQL Server 2000
2245             with alternative translations. The following expressions are translated:
2246             <list type="bullet">
2247                 <item>
2248                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/>
2249                 </item>
2250                 <item>
2251                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression"/>
2252                 </item>
2253                 <item>
2254                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>
2255                 </item>
2256             </list>
2257             The other expressions are copied unmodified.
2258             The new expression belongs to a new query command tree.
2259             </summary>
2260         </member>
2261         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.Rewrite(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree)">
2262             <summary>
2263             The only entry point.
2264             Rewrites the given tree by replacing expressions that are not directly supported on SQL Server 2000
2265             with alterntive translations.
2266             </summary>
2267             <param name="originalTree"> The tree to rewrite </param>
2268             <returns> The new tree </returns>
2269         </member>
2270         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.#ctor(System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace)">
2271             <summary>
2272             Private Constructor.
2273             </summary>
2274         </member>
2275         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)">
2276             <summary>
2277             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2278             </summary>
2279         </member>
2280         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)">
2281             <summary>
2282             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2283             </summary>
2284         </member>
2285         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression)">
2286             <summary>
2287             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2288             Logicaly, <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/> translates to:
2289             SELECT Y.x1, Y.x2, ..., Y.xn
2290             FROM (
2291             SELECT X.x1, X.x2, ..., X.xn,
2292             FROM input AS X
2293             EXCEPT
2294             SELECT TOP(count) Z.x1, Z.x2, ..., Z.xn
2295             FROM input AS Z
2296             ORDER BY sk1, sk2, ...
2297             ) AS Y
2298             ORDER BY sk1, sk2, ...
2299             Here, input refers to the input of the <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>, and count to the count property of the
2300             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>
2301             .
2302             The implementation of EXCEPT is non-duplicate eliminating, and does equality comparison only over the
2303             equality comparable columns of the input.
2304             This corresponds to the following expression tree:
2305             SORT
2306             |
2307             NON-DISTINCT EXCEPT  (specially translated,
2308             |
2309             | - Left:  clone of input
2310             | - Right:
2311             |
2312             Limit
2313             |
2314             | - Limit: Count
2315             | - Input
2316             |
2317             Sort
2318             |
2319             input
2320             </summary>
2321         </member>
2322         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind)">
2323             <summary>
2324             This method is invoked when tranforming <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression"/> and <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/> by doing comparison over all input columns.
2325             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2326             </summary>
2327         </member>
2328         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)">
2329             <summary>
2330             This method is used for translating <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression"/> and <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/>,
2331             and for translating the "Except" part of <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>.
2332             into the follwoing expression:
2333             A INTERSECT B, A EXCEPT B
2334             (DISTINCT)
2335             |
2336             FILTER
2337             |
2338             | - Input: A
2339             | - Predicate:(NOT)
2340             |
2341             ANY
2342             |
2343             | - Input: B
2344             | - Predicate:  (B.b1 = A.a1 or (B.b1 is null and A.a1 is null))
2345             AND (B.b2 = A.a2 or (B.b2 is null and A.a2 is null))
2346             AND ...
2347             AND (B.bn = A.an or (B.bn is null and A.an is null)))
2348             Here, A corresponds to right and B to left.
2349             (NOT) is present when transforming Except
2350             for the purpose of translating <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/> or <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>.
2351             (DISTINCT) is present when transforming for the purpose of translating
2352             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression"/> or <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression"/>.
2353             For <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression"/>, the input to ANY is caped with project which projects out only
2354             the columns represented in the sortExpressionsOverLeft list and only these are used in the predicate.
2355             This is because we want to support skip over input with non-equal comarable columns and we have no way to recognize these.
2356             </summary>
2357             <param name="left"> </param>
2358             <param name="right"> </param>
2359             <param name="expressionKind"> </param>
2360             <param name="sortExpressionsOverLeft"> note that this list gets destroyed by this method </param>
2361             <param name="sortExpressionsBindingVariableName"> </param>
2362         </member>
2363         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.FlattenProperties(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression})">
2364             <summary>
2365             Adds the flattened properties on the input to the flattenedProperties list.
2366             </summary>
2367         </member>
2368         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.RemoveNonSortProperties(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String,System.String)">
2369             <summary>
2370             Helper method for
2371             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2372             Removes all pairs of property expressions from list1 and list2, for which the property expression in list1
2373             does not have a 'matching' property expression in list2.
2374             The lists list1 and list2 are known to not create duplicate, and the purpose of the sortList is just for this method.
2375             Thus, to optimize the match process, we remove the seen property expressions from the sort list in
2376             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.HasMatchInList(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String,System.String)"/>
2377             when iterating both list simultaneously.
2378             </summary>
2379         </member>
2380         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.HasMatchInList(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String,System.String)">
2381             <summary>
2382             Helper method for <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.RemoveNonSortProperties(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String,System.String)"/>
2383             Checks whether expr has a 'match' in the given list of property expressions.
2384             If it does, the matching expression is removed form the list, to speed up future matching.
2385             </summary>
2386         </member>
2387         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.AreMatching(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression,System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression,System.String,System.String)">
2388             <summary>
2389             Determines whether two expressions match.
2390             They match if they are  of the shape
2391             expr1 -> DbPropertyExpression(... (DbPropertyExpression(DbVariableReferenceExpression(expr1BindingVariableName), nameX), ..., name1)
2392             expr1 -> DbPropertyExpression(... (DbPropertyExpression(DbVariableReferenceExpression(expr2BindingVariableName), nameX), ..., name1),
2393             i.e. if they only differ in the name of the binding.
2394             </summary>
2395         </member>
2396         <member name="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.CapWithProject(System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression})">
2397             <summary>
2398             Helper method for
2399             <see cref="M:System.Data.Entity.SqlServer.SqlGen.Sql8ExpressionRewriter.TransformIntersectOrExcept(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression},System.String)"/>
2400             Creates a
2401             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression"/>
2402             over the given inputBinding that projects out the given flattenedProperties.
2403             and updates the flattenedProperties to be over the newly created project.
2404             </summary>
2405             <returns>
2406             An <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding"/> over the newly created <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression"/>
2407             </returns>
2408         </member>
2409         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder">
2410             <summary>
2411             This class is like StringBuilder.  While traversing the tree for the first time,
2412             we do not know all the strings that need to be appended e.g. things that need to be
2413             renamed, nested select statements etc.  So, we use a builder that can collect
2414             all kinds of sql fragments.
2415             </summary>
2416         </member>
2417         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlBuilder.Append(System.Object)">
2418             <summary>
2419             Add an object to the list - we do not verify that it is a proper sql fragment
2420             since this is an internal method.
2421             </summary>
2422         </member>
2423         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlBuilder.AppendLine">
2424             <summary>
2425             This is to pretty print the SQL.  The writer <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlWriter"/>
2426             needs to know about new lines so that it can add the right amount of
2427             indentation at the beginning of lines.
2428             </summary>
2429         </member>
2430         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlBuilder.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
2431             <summary>
2432             We delegate the writing of the fragment to the appropriate type.
2433             </summary>
2434         </member>
2435         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlBuilder.IsEmpty">
2436             <summary>
2437             Whether the builder is empty.  This is used by the <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>
2438             to determine whether a sql statement can be reused.
2439             </summary>
2440         </member>
2441         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler">
2442             <summary>
2443             Enacapsulates the logic required to translate function calls represented as instances of DbFunctionExpression into SQL.
2444             There are several special cases that modify how the translation should proceed. These include:
2445             - 'Special' canonical functions, for which the function name or arguments differ between the EDM canonical function and the SQL function
2446             - 'Special' server functions, which are similar to the 'special' canonical functions but sourced by the SQL Server provider manifest
2447             - Niladic functions, which require the parentheses that would usually follow the function name to be omitted
2448             - Spatial canonical functions, which must translate to a static method call, instance method call, or instance property access against
2449             one of the built-in spatial CLR UDTs (geography/geometry).
2450             </summary>
2451         </member>
2452         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeStoreFunctionHandlers">
2453             <summary>
2454             All special store functions and their handlers
2455             </summary>
2456         </member>
2457         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeCanonicalFunctionHandlers">
2458             <summary>
2459             All special non-aggregate canonical functions and their handlers
2460             </summary>
2461         </member>
2462         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeFunctionNameToOperatorDictionary">
2463             <summary>
2464             Initalizes the mapping from functions to TSql operators
2465             for all functions that translate to TSql operators
2466             </summary>
2467         </member>
2468         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeDateAddFunctionNameToDatepartDictionary">
2469             <summary>
2470             Initalizes the mapping from names of canonical function for date/time addition
2471             to corresponding dateparts
2472             </summary>
2473         </member>
2474         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeDateDiffFunctionNameToDatepartDictionary">
2475             <summary>
2476             Initalizes the mapping from names of canonical function for date/time difference
2477             to corresponding dateparts
2478             </summary>
2479         </member>
2480         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeGeographyStaticMethodFunctionsDictionary">
2481             <summary>
2482             Initalizes the mapping from names of canonical function that represent static geography methods to their corresponding
2483             static method name, qualified with the 'geography::' prefix.
2484             </summary>
2485         </member>
2486         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeGeographyInstancePropertyFunctionsDictionary">
2487             <summary>
2488             Initalizes the mapping from names of canonical function that represent geography instance properties to their corresponding
2489             store property name.
2490             </summary>
2491         </member>
2492         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeRenamedGeographyInstanceMethodFunctions">
2493             <summary>
2494             Initalizes the mapping of canonical function name to instance method name for geography instance functions that differ in name from the sql server equivalent.
2495             </summary>
2496         </member>
2497         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeGeometryStaticMethodFunctionsDictionary">
2498             <summary>
2499             Initalizes the mapping from names of canonical function that represent static geometry methods to their corresponding
2500             static method name, qualified with the 'geometry::' prefix.
2501             </summary>
2502         </member>
2503         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeGeometryInstancePropertyFunctionsDictionary">
2504             <summary>
2505             Initalizes the mapping from names of canonical function that represent geometry instance properties to their corresponding
2506             store property name.
2507             </summary>
2508         </member>
2509         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.InitializeRenamedGeometryInstanceMethodFunctions">
2510             <summary>
2511             Initalizes the mapping of canonical function name to instance method name for geometry instance functions that differ in name from the sql server equivalent.
2512             </summary>
2513         </member>
2514         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.IsSpecialStoreFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2515             <summary>
2516             Determines whether the given function is a store function that
2517             requires special handling
2518             </summary>
2519         </member>
2520         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.IsSpecialCanonicalFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2521             <summary>
2522             Determines whether the given function is a canonical function that
2523             requires special handling
2524             </summary>
2525         </member>
2526         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.IsSpatialCanonicalFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Data.Entity.Core.Metadata.Edm.PrimitiveTypeKind@)">
2527             <summary>
2528             Determines whether the given function is a canonical function the translates
2529             to a spatial (geography/geometry) property access or method call.
2530             </summary>
2531         </member>
2532         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleFunctionDefault(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2533             <summary>
2534             Default handling for functions.
2535             Translates them to FunctionName(arg1, arg2, ..., argn)
2536             </summary>
2537         </member>
2538         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleFunctionDefaultGivenName(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.String)">
2539             <summary>
2540             Default handling for functions with a given name.
2541             Translates them to FunctionName(arg1, arg2, ..., argn)
2542             </summary>
2543         </member>
2544         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleFunctionDefaultCastReturnValue(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.String,System.String)">
2545             <summary>
2546             Default handling for functions with a given name and given return value cast.
2547             Translates them to CAST(FunctionName(arg1, arg2, ..., argn) AS returnType)
2548             </summary>
2549         </member>
2550         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleFunctionArgumentsDefault(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
2551             <summary>
2552             Default handling on function arguments.
2553             Appends the list of arguments to the given result
2554             If the function is niladic it does not append anything,
2555             otherwise it appends (arg1, arg2, .., argn)
2556             </summary>
2557         </member>
2558         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleFunctionGivenNameBasedOnVersion(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.String,System.String)">
2559             <summary>
2560             Handler for functions that need to be translated to different store function based on version
2561             </summary>
2562         </member>
2563         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialStoreFunction(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2564             <summary>
2565             Handler for special build in functions
2566             </summary>
2567         </member>
2568         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialCanonicalFunction(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2569             <summary>
2570             Handler for special canonical functions
2571             </summary>
2572         </member>
2573         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialFunction(System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.FunctionHandler},System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2574             <summary>
2575             Dispatches the special function processing to the appropriate handler
2576             </summary>
2577         </member>
2578         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialFunctionToOperator(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)">
2579             <summary>
2580             Handles functions that are translated into TSQL operators.
2581             The given function should have one or two arguments.
2582             Functions with one arguemnt are translated into
2583             op arg
2584             Functions with two arguments are translated into
2585             arg0 op arg1
2586             Also, the arguments can be optionaly enclosed in parethesis
2587             </summary>
2588             <param name="sqlgen"> </param>
2589             <param name="e"> </param>
2590             <param name="parenthesiseArguments"> Whether the arguments should be enclosed in parethesis </param>
2591         </member>
2592         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleConcatFunction(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2593             <summary>
2594             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialFunctionToOperator(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
2595             </summary>
2596         </member>
2597         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionBitwise(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2598             <summary>
2599             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleSpecialFunctionToOperator(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
2600             </summary>
2601         </member>
2602         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleDatepartDateFunction(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2603             <summary>
2604             Handles special case in which datapart 'type' parameter is present. all the functions
2605             handles here have *only* the 1st parameter as datepart. datepart value is passed along
2606             the QP as string and has to be expanded as TSQL keyword.
2607             </summary>
2608         </member>
2609         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDatepart(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2610             <summary>
2611             Handler for canonical functions for extracting date parts.
2612             For example:
2613             Year(date) -> DATEPART( year, date)
2614             </summary>
2615         </member>
2616         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionGetTotalOffsetMinutes(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2617             <summary>
2618             Handler for canonical funcitons for GetTotalOffsetMinutes.
2619             GetTotalOffsetMinutes(e) --> Datepart(tzoffset, e)
2620             </summary>
2621         </member>
2622         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDatepart(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2623             <summary>
2624             Handler for turning a canonical function into DATEPART
2625             Results in DATEPART(datepart, e)
2626             </summary>
2627         </member>
2628         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCurrentDateTime(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2629             <summary>
2630             Handler for the canonical function CurrentDateTime
2631             For Sql8 and Sql9:  CurrentDateTime() -> GetDate()
2632             For Sql10:          CurrentDateTime() -> SysDateTime()
2633             </summary>
2634         </member>
2635         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCurrentUtcDateTime(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2636             <summary>
2637             Handler for the canonical function CurrentUtcDateTime
2638             For Sql8 and Sql9:  CurrentUtcDateTime() -> GetUtcDate()
2639             For Sql10:          CurrentUtcDateTime() -> SysUtcDateTime()
2640             </summary>
2641         </member>
2642         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCurrentDateTimeOffset(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2643             <summary>
2644             Handler for the canonical function CurrentDateTimeOffset
2645             For Sql8 and Sql9:  throw
2646             For Sql10: CurrentDateTimeOffset() -> SysDateTimeOffset()
2647             </summary>
2648         </member>
2649         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCreateDateTime(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2650             <summary>
2651             See <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateTimeTypeCreation(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Boolean,System.Boolean)"/> for exact translation
2652             Pre Katmai creates datetime.
2653             On Katmai creates datetime2.
2654             </summary>
2655         </member>
2656         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCreateDateTimeOffset(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2657             <summary>
2658             See <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateTimeTypeCreation(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Boolean,System.Boolean)"/> for exact translation
2659             Pre Katmai not supported.
2660             On Katmai creates datetimeoffset.
2661             </summary>
2662         </member>
2663         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionCreateTime(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2664             <summary>
2665             See <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateTimeTypeCreation(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Boolean,System.Boolean)"/> for exact translation
2666             Pre Katmai not supported.
2667             On Katmai creates time.
2668             </summary>
2669         </member>
2670         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateTimeTypeCreation(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.String,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Boolean,System.Boolean)">
2671             <summary>
2672             Helper for all date and time types creating functions.
2673             The given expression is in general trainslated into:
2674             CONVERT(@typename, [datePart] + [timePart] + [timeZonePart], 121), where the datePart and the timeZonePart are optional
2675             The individual parts are translated as:
2676             Date part:
2677             convert(varchar(255), @year) + '-' + convert(varchar(255), @month) + '-' + convert(varchar(255), @day)
2678             Time part:
2679             PRE KATMAI:  convert(varchar(255), @hour)+ ':' + convert(varchar(255), @minute)+ ':' + str(@second, 6, 3)
2680             KATMAI:  convert(varchar(255), @hour)+ ':' + convert(varchar(255), @minute)+ ':' + str(@second, 10, 7)
2681             Time zone part:
2682             (case when @tzoffset >= 0 then '+' else '-' end) + convert(varchar(255), ABS(@tzoffset)/60) + ':' + convert(varchar(255), ABS(@tzoffset)%60)
2683             </summary>
2684         </member>
2685         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.AppendConvertToVarchar(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.SqlServer.SqlGen.SqlBuilder,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
2686             <summary>
2687             Helper method that wrapps the given expession with a conver to varchar(255)
2688             </summary>
2689         </member>
2690         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionTruncateTime(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2691             <summary>
2692             TruncateTime(DateTime X)
2693             PreKatmai:    TRUNCATETIME(X) => CONVERT(DATETIME, CONVERT(VARCHAR(255), expression, 102),  102)
2694             Katmai:    TRUNCATETIME(X) => CONVERT(DATETIME2, CONVERT(VARCHAR(255), expression, 102),  102)
2695             TruncateTime(DateTimeOffset X)
2696             TRUNCATETIME(X) => CONVERT(datetimeoffset, CONVERT(VARCHAR(255), expression,  102)
2697             + ' 00:00:00 ' +  Right(convert(varchar(255), @arg, 121), 6),  102)
2698             </summary>
2699         </member>
2700         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateAddKatmaiOrNewer(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2701             <summary>
2702             Handler for date addition functions supported only starting from Katmai
2703             </summary>
2704         </member>
2705         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateAdd(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2706             <summary>
2707             Handler for all date/time addition canonical functions.
2708             Translation, e.g.
2709             AddYears(datetime, number) =>  DATEADD(year, number, datetime)
2710             </summary>
2711         </member>
2712         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateDiffKatmaiOrNewer(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2713             <summary>
2714             Hanndler for date differencing functions supported only starting from Katmai
2715             </summary>
2716         </member>
2717         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionDateDiff(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2718             <summary>
2719             Handler for all date/time addition canonical functions.
2720             Translation, e.g.
2721             DiffYears(datetime, number) =>  DATEDIFF(year, number, datetime)
2722             </summary>
2723         </member>
2724         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionIndexOf(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2725             <summary>
2726             Function rename IndexOf -> CHARINDEX
2727             </summary>
2728         </member>
2729         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionNewGuid(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2730             <summary>
2731             Function rename NewGuid -> NEWID
2732             </summary>
2733         </member>
2734         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionLength(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2735             <summary>
2736             Function rename Length -> LEN
2737             </summary>
2738         </member>
2739         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionRound(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2740             <summary>
2741             Round(numericExpression) -> Round(numericExpression, 0);
2742             Round(numericExpression, digits) -> Round(numericExpression, digits);
2743             </summary>
2744         </member>
2745         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionTruncate(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2746             <summary>
2747             Truncate(numericExpression) -> Round(numericExpression, 0, 1); (does not exist as canonical function yet)
2748             Truncate(numericExpression, digits) -> Round(numericExpression, digits, 1);
2749             </summary>
2750         </member>
2751         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionRoundOrTruncate(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)">
2752             <summary>
2753             Common handler for the canonical functions ROUND and TRUNCATE
2754             </summary>
2755         </member>
2756         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionAbs(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2757             <summary>
2758             Handle the canonical function Abs().
2759             </summary>
2760         </member>
2761         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionTrim(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2762             <summary>
2763             TRIM(string) -> LTRIM(RTRIM(string))
2764             </summary>
2765         </member>
2766         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionToLower(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2767             <summary>
2768             Function rename ToLower -> LOWER
2769             </summary>
2770         </member>
2771         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionToUpper(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2772             <summary>
2773             Function rename ToUpper -> UPPER
2774             </summary>
2775         </member>
2776         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.TranslateConstantParameterForLike(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression,System.Data.Entity.SqlServer.SqlGen.SqlBuilder,System.Boolean,System.Boolean)">
2777             <summary>
2778             Function to translate the StartsWith, EndsWith and Contains canonical functions to LIKE expression in T-SQL
2779             and also add the trailing ESCAPE '~' when escaping of the search string for the LIKE expression has occurred
2780             </summary>
2781         </member>
2782         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionContains(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2783             <summary>
2784             Handler for Contains. Wraps the normal translation with a case statement
2785             </summary>
2786         </member>
2787         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionContains(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
2788             <summary>
2789             CONTAINS(arg0, arg1) => arg0 LIKE '%arg1%'
2790             </summary>
2791         </member>
2792         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionStartsWith(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2793             <summary>
2794             Handler for StartsWith. Wraps the normal translation with a case statement
2795             </summary>
2796         </member>
2797         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionStartsWith(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
2798             <summary>
2799             STARTSWITH(arg0, arg1) => arg0 LIKE 'arg1%'
2800             </summary>
2801         </member>
2802         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionEndsWith(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2803             <summary>
2804             Handler for EndsWith. Wraps the normal translation with a case statement
2805             </summary>
2806         </member>
2807         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.HandleCanonicalFunctionEndsWith(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
2808             <summary>
2809             ENDSWITH(arg0, arg1) => arg0 LIKE '%arg1'
2810             </summary>
2811         </member>
2812         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.WrapPredicate(System.Func{System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Data.Entity.SqlServer.SqlGen.SqlBuilder,System.Data.Entity.SqlServer.SqlGen.SqlBuilder},System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2813             <summary>
2814             Turns a predicate into a statement returning a bit
2815             PREDICATE => CASE WHEN (PREDICATE) THEN CAST(1 AS BIT) WHEN (NOT (PREDICATE)) CAST (O AS BIT) END
2816             The predicate is produced by the given predicateTranslator.
2817             </summary>
2818         </member>
2819         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.WriteFunctionName(System.Data.Entity.SqlServer.SqlGen.SqlBuilder,System.Data.Entity.Core.Metadata.Edm.EdmFunction)">
2820             <summary>
2821             Writes the function name to the given SqlBuilder.
2822             </summary>
2823         </member>
2824         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.IsStoreFunction(System.Data.Entity.Core.Metadata.Edm.EdmFunction)">
2825             <summary>
2826             Is this a Store function (ie) does it have the builtinAttribute specified and it is not a canonical function?
2827             </summary>
2828         </member>
2829         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.CastReturnTypeToInt64(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2830             <summary>
2831             determines if the function requires the return type be enforeced by use of a cast expression
2832             </summary>
2833         </member>
2834         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.CastReturnTypeToInt32(System.Data.Entity.SqlServer.SqlGen.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2835             <summary>
2836             determines if the function requires the return type be enforeced by use of a cast expression
2837             </summary>
2838         </member>
2839         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.CastReturnTypeToInt16(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2840             <summary>
2841             determines if the function requires the return type be enforeced by use of a cast expression
2842             </summary>
2843         </member>
2844         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.CastReturnTypeToSingle(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
2845             <summary>
2846             determines if the function requires the return type be enforeced by use of a cast expression
2847             </summary>
2848         </member>
2849         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlFunctionCallHandler.CastReturnTypeToGivenType(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Collections.Generic.ISet{System.String},System.Data.Entity.Core.Metadata.Edm.PrimitiveTypeKind)">
2850             <summary>
2851             Determines if the function requires the return type be enforced by use of a cast expression
2852             </summary>
2853         </member>
2854         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlGenerator">
2855             <summary>
2856             Translates the command object into a SQL string that can be executed on
2857             SQL Server 2000 and SQL Server 2005.
2858             </summary>
2859             <remarks>
2860             The translation is implemented as a visitor <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionVisitor`1"/>
2861             over the query tree.  It makes a single pass over the tree, collecting the sql
2862             fragments for the various nodes in the tree <see cref="T:System.Data.Entity.SqlServer.SqlGen.ISqlFragment"/>.
2863             The major operations are
2864             <list type="bullet">
2865                 <item>
2866                     Select statement minimization.  Multiple nodes in the query tree
2867                     that can be part of a single SQL select statement are merged. e.g. a
2868                     Filter node that is the input of a Project node can typically share the
2869                     same SQL statement.
2870                 </item>
2871                 <item>
2872                     Alpha-renaming.  As a result of the statement minimization above, there
2873                     could be name collisions when using correlated subqueries
2874                     <example>
2875                         <code>Filter(
2876                             b = Project( c.x
2877                             c = Extent(foo)
2878                             )
2879                             exists (
2880                             Filter(
2881                             c = Extent(foo)
2882                             b.x = c.x
2883                             )
2884                             )
2885                             )</code>
2886                         The first Filter, Project and Extent will share the same SQL select statement.
2887                         The alias for the Project i.e. b, will be replaced with c.
2888                         If the alias c for the Filter within the exists clause is not renamed,
2889                         we will get <c>c.x = c.x</c>, which is incorrect.
2890                         Instead, the alias c within the second filter should be renamed to c1, to give
2891                         <c>c.x = c1.x</c> i.e. b is renamed to c, and c is renamed to c1.
2892                     </example>
2893                 </item>
2894                 <item>
2895                     Join flattening.  In the query tree, a list of join nodes is typically
2896                     represented as a tree of Join nodes, each with 2 children. e.g.
2897                     <example>
2898                         <code>a = Join(InnerJoin
2899                             b = Join(CrossJoin
2900                             c = Extent(foo)
2901                             d = Extent(foo)
2902                             )
2903                             e = Extent(foo)
2904                             on b.c.x = e.x
2905                             )</code>
2906                         If translated directly, this will be translated to
2907                         <code>FROM ( SELECT c.*, d.*
2908                             FROM foo as c
2909                             CROSS JOIN foo as d) as b
2910                             INNER JOIN foo as e on b.x' = e.x</code>
2911                         It would be better to translate this as
2912                         <code>FROM foo as c
2913                             CROSS JOIN foo as d
2914                             INNER JOIN foo as e on c.x = e.x</code>
2915                         This allows the optimizer to choose an appropriate join ordering for evaluation.
2916                     </example>
2917                 </item>
2918                 <item>
2919                     Select * and column renaming.  In the example above, we noticed that
2920                     in some cases we add
2921                     <c>SELECT * FROM ...</c>
2922                     to complete the SQL
2923                     statement. i.e. there is no explicit PROJECT list.
2924                     In this case, we enumerate all the columns available in the FROM clause
2925                     This is particularly problematic in the case of Join trees, since the columns
2926                     from the extents joined might have the same name - this is illegal.  To solve
2927                     this problem, we will have to rename columns if they are part of a SELECT *
2928                     for a JOIN node - we do not need renaming in any other situation.
2929                     <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>
2930                     .
2931                 </item>
2932             </list>
2933             <para> Renaming issues. When rows or columns are renamed, we produce names that are unique globally with respect to the query. The names are derived from the original names, with an integer as a suffix. e.g. CustomerId will be renamed to CustomerId1, CustomerId2 etc. Since the names generated are globally unique, they will not conflict when the columns of a JOIN SELECT statement are joined with another JOIN. </para>
2934             <para>
2935                 Record flattening. SQL server does not have the concept of records. However, a join statement produces records. We have to flatten the record accesses into a simple <c>alias.column</c> form.
2936                 <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>
2937             </para>
2938             <para>
2939                 Building the SQL. There are 2 phases
2940                 <list type="numbered">
2941                     <item>
2942                         Traverse the tree, producing a sql builder
2943                         <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
2944                     </item>
2945                     <item>
2946                         Write the SqlBuilder into a string, renaming the aliases and columns
2947                         as needed.
2948                     </item>
2949                 </list>
2950                 In the first phase, we traverse the tree. We cannot generate the SQL string right away, since
2951                 <list type="bullet">
2952                     <item>The WHERE clause has to be visited before the from clause.</item>
2953                     <item>
2954                         extent aliases and column aliases need to be renamed.  To minimize
2955                         renaming collisions, all the names used must be known, before any renaming
2956                         choice is made.
2957                     </item>
2958                 </list>
2959                 To defer the renaming choices, we use symbols
2960                 <see cref="T:System.Data.Entity.SqlServer.SqlGen.Symbol"/>
2961                 . These are renamed in the second phase. Since visitor methods cannot transfer information to child nodes through parameters, we use some global stacks,
2962                 <list type="bullet">
2963                     <item>
2964                         A stack for the current SQL select statement.  This is needed by
2965                         <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/>
2966                         to create a
2967                         list of free variables used by a select statement.  This is needed for
2968                         alias renaming.
2969                     </item>
2970                     <item>
2971                         A stack for the join context.  When visiting an extent,
2972                         we need to know whether we are inside a join or not.  If we are inside
2973                         a join, we do not create a new SELECT statement.
2974                     </item>
2975                 </list>
2976             </para>
2977             <para>
2978                 Global state. To enable renaming, we maintain
2979                 <list type="bullet">
2980                     <item>The set of all extent aliases used.</item>
2981                     <item>The set of all parameter names.</item>
2982                     <item>The set of all column names that may need to be renamed.</item>
2983                 </list>
2984                 Finally, we have a symbol table to lookup variable references. All references to the same extent have the same symbol.
2985             </para>
2986             <para>
2987                 Sql select statement sharing. Each of the relational operator nodes
2988                 <list type="bullet">
2989                     <item>Project</item>
2990                     <item>Filter</item>
2991                     <item>GroupBy</item>
2992                     <item>Sort/OrderBy</item>
2993                 </list>
2994                 can add its non-input (e.g. project, predicate, sort order etc.) to the SQL statement for the input, or create a new SQL statement. If it chooses to reuse the input's SQL statement, we play the following symbol table trick to accomplish renaming. The symbol table entry for the alias of the current node points to the symbol for the input in the input's SQL statement.
2995                 <example>
2996                     <code>Project(b.x
2997                         b = Filter(
2998                         c = Extent(foo)
2999                         c.x = 5)
3000                         )</code>
3001                     The Extent node creates a new SqlSelectStatement.  This is added to the
3002                     symbol table by the Filter as {c, Symbol(c)}.  Thus, <c>c.x</c> is resolved to
3003                     <c>Symbol(c).x</c>.
3004                     Looking at the project node, we add {b, Symbol(c)} to the symbol table if the
3005                     SQL statement is reused, and {b, Symbol(b)}, if there is no reuse.
3006                     Thus, <c>b.x</c> is resolved to <c>Symbol(c).x</c> if there is reuse, and to
3007                     <c>Symbol(b).x</c> if there is no reuse.
3008                 </example>
3009             </para>
3010             </remarks>
3011         </member>
3012         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.selectStatementStack">
3013             <summary>
3014             Every relational node has to pass its SELECT statement to its children
3015             This allows them (DbVariableReferenceExpression eventually) to update the list of
3016             outer extents (free variables) used by this select statement.
3017             </summary>
3018         </member>
3019         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.isParentAJoinStack">
3020             <summary>
3021             Nested joins and extents need to know whether they should create
3022             a new Select statement, or reuse the parent's.  This flag
3023             indicates whether the parent is a join or not.
3024             </summary>
3025         </member>
3026         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.isVarRefSingle">
3027             <summary>
3028             VariableReferenceExpressions are allowed only as children of DbPropertyExpression
3029             or MethodExpression.  The cheapest way to ensure this is to set the following
3030             property in DbVariableReferenceExpression and reset it in the allowed parent expressions.
3031             </summary>
3032         </member>
3033         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator._candidateParametersToForceNonUnicode">
3034             <summary>
3035             Maintain the list of (string) DbParameterReferenceExpressions that should be compensated, viz.
3036             forced to non-unicode format. A parameter is added to the list if it is being compared to a
3037             non-unicode store column and none of its other usages in the query tree, disqualify it
3038             (For example - if the parameter is also being projected or compared to a unicode column)
3039             The goal of the compensation is to have the store index picked up by the server.
3040             String constants are also compensated and the decision is local, unlike parameters.
3041             </summary>
3042         </member>
3043         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator._forceNonUnicode">
3044             <summary>
3045             Set and reset in DbComparisonExpression and DbLikeExpression visit methods. Maintains
3046             global state information that the children of these nodes are candidates for compensation.
3047             </summary>
3048         </member>
3049         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator._ignoreForceNonUnicodeFlag">
3050             <summary>
3051             Set when it is is safe to ignore the unicode/non-unicode aspect. See <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitIsNullExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression,System.Boolean)"/> for an example.
3052             </summary>
3053         </member>
3054         <member name="F:System.Data.Entity.SqlServer.SqlGen.SqlGenerator._sqlVersion">
3055             <summary>
3056             The current SQL Server version
3057             </summary>
3058         </member>
3059         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.#ctor(System.Data.Entity.SqlServer.SqlVersion)">
3060             <summary>
3061             Basic constructor.
3062             </summary>
3063             <param name="sqlVersion"> server version </param>
3064         </member>
3065         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GenerateSql(System.Data.Entity.Core.Common.CommandTrees.DbCommandTree,System.Data.Entity.SqlServer.SqlVersion,System.Collections.Generic.List{System.Data.SqlClient.SqlParameter}@,System.Data.CommandType@,System.Collections.Generic.HashSet{System.String}@)">
3066             <summary>
3067             General purpose static function that can be called from System.Data assembly
3068             </summary>
3069             <param name="tree"> command tree </param>
3070             <param name="sqlVersion"> Server version </param>
3071             <param name="parameters"> Parameters to add to the command tree corresponding to constants in the command tree. Used only in ModificationCommandTrees. </param>
3072             <param name="commandType"> CommandType for generated command. </param>
3073             <param name="paramsToForceNonUnicode"> </param>
3074             <returns> The string representing the SQL to be executed. </returns>\
3075         </member>
3076         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GenerateSql(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree,System.Collections.Generic.HashSet{System.String}@)">
3077             <summary>
3078             Translate a command tree to a SQL string.
3079             The input tree could be translated to either a SQL SELECT statement
3080             or a SELECT expression.  This choice is made based on the return type
3081             of the expression
3082             CollectionType => select statement
3083             non collection type => select expression
3084             </summary>
3085             <returns> The string representing the SQL to be executed. </returns>
3086         </member>
3087         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.ISqlFragment)">
3088             <summary>
3089             Convert the SQL fragments to a string. Writes a string representing the SQL to be executed
3090             into the specified writer.
3091             </summary>
3092             <param name="writer"> </param>
3093             <param name="sqlStatement">The fragment to be emitted</param>
3094             <returns>The writer specified for fluent continuations. </returns>
3095         </member>
3096         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbAndExpression)">
3097             <summary>
3098             Translate(left) AND Translate(right)
3099             </summary>
3100             <returns>
3101             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> .
3102             </returns>
3103         </member>
3104         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression)">
3105             <summary>
3106             An apply is just like a join, so it shares the common join processing
3107             in <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
3108             </summary>
3109             <returns>
3110             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/> .
3111             </returns>
3112         </member>
3113         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbArithmeticExpression)">
3114             <summary>
3115             For binary expressions, we delegate to <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitBinaryExpression(System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>.
3116             We handle the other expressions directly.
3117             </summary>
3118             <returns>
3119             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3120             </returns>
3121         </member>
3122         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCaseExpression)">
3123             <summary>
3124             If the ELSE clause is null, we do not write it out.
3125             </summary>
3126             <returns>
3127             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3128             </returns>
3129         </member>
3130         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbComparisonExpression)">
3131             <summary>
3132             The parser generates Not(Equals(...)) for &lt;&gt;.
3133             </summary>
3134             <returns>
3135             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> .
3136             </returns>
3137         </member>
3138         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CheckIfForceNonUnicodeRequired(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3139             <summary>
3140             Checks if the arguments of the input Comparison or Like expression are candidates
3141             for compensation. If yes, sets global state variable - _forceNonUnicode.
3142             </summary>
3143             <param name="e"> DBComparisonExpression or DbLikeExpression </param>
3144         </member>
3145         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.MatchPatternForForcingNonUnicode(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3146             <summary>
3147             The grammar for the pattern that we are looking for is -
3148             Pattern := Target OP Source | Source OP Target
3149             OP := Like | In | Comparison
3150             Source := Non-unicode DbPropertyExpression
3151             Target := Target FUNC Target | DbConstantExpression | DBParameterExpression
3152             FUNC := CONCAT | RTRIM | LTRIM | TRIM | SUBSTRING | TOLOWER | TOUPPER | REVERSE | REPLACE
3153             </summary>
3154         </member>
3155         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.MatchTargetPatternForForcingNonUnicode(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3156             <summary>
3157             Matches the non-terminal symbol "target" in above grammar.
3158             </summary>
3159         </member>
3160         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.MatchSourcePatternForForcingNonUnicode(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3161             <summary>
3162             Determines if the expression represents a non-unicode string column(char/varchar store type)
3163             </summary>
3164         </member>
3165         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsConstParamOrNullExpressionUnicodeNotSpecified(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3166             <summary>
3167             Determines if the expression represents a string constant or parameter with the facet, unicode=null.
3168             </summary>
3169         </member>
3170         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitConstant(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression,System.Boolean)">
3171             <summary>
3172             Generate tsql for a constant. Avoid the explicit cast (if possible) when
3173             the isCastOptional parameter is set
3174             </summary>
3175             <param name="e"> the constant expression </param>
3176             <param name="isCastOptional"> can we avoid the CAST </param>
3177             <returns> the tsql fragment </returns>
3178         </member>
3179         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AssertValidDouble(System.Double)">
3180             <summary>
3181             Helper method for <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitConstant(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression,System.Boolean)"/>
3182             </summary>
3183             <param name="value"> A double value </param>
3184             <exception cref="T:System.NotSupportedException">
3185             If a value of positive or negative infinity, or
3186             <see cref="F:System.Double.NaN"/>
3187             is specified
3188             </exception>
3189         </member>
3190         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AssertValidSingle(System.Single)">
3191             <summary>
3192             Helper method for <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitConstant(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression,System.Boolean)"/>
3193             </summary>
3194             <param name="value"> A single value </param>
3195             <exception cref="T:System.NotSupportedException">
3196             If a value of positive or negative infinity, or
3197             <see cref="F:System.Single.NaN"/>
3198             is specified
3199             </exception>
3200         </member>
3201         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.WrapWithCastIfNeeded(System.Boolean,System.String,System.String,System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
3202             <summary>
3203             Helper function for <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitConstant(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression,System.Boolean)"/>
3204             Appends the given constant value to the result either 'as is' or wrapped with a cast to the given type.
3205             </summary>
3206         </member>
3207         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression)">
3208             <summary>
3209             We do not pass constants as parameters.
3210             </summary>
3211             <returns>
3212             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> . Strings are wrapped in single quotes and escaped. Numbers are written literally.
3213             </returns>
3214         </member>
3215         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbDistinctExpression)">
3216             <summary>
3217             The DISTINCT has to be added to the beginning of SqlSelectStatement.Select,
3218             but it might be too late for that.  So, we use a flag on SqlSelectStatement
3219             instead, and add the "DISTINCT" in the second phase.
3220             </summary>
3221             <returns>
3222             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3223             </returns>
3224         </member>
3225         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbElementExpression)">
3226             <summary>
3227             An element expression returns a scalar - so it is translated to
3228             ( Select ... )
3229             </summary>
3230         </member>
3231         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)">
3232             <summary>
3233             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>
3234             </summary>
3235         </member>
3236         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3237             <summary>
3238             Only concrete expression types will be visited.
3239             </summary>
3240         </member>
3241         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbScanExpression)">
3242             <returns>
3243             If we are in a Join context, returns a <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> with the extent name, otherwise, a new
3244             <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3245             with the From field set.
3246             </returns>
3247         </member>
3248         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GetTargetTSql(System.Data.Entity.Core.Metadata.Edm.EntitySetBase)">
3249             <summary>
3250             Gets escaped TSql identifier describing this entity set.
3251             </summary>
3252         </member>
3253         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)">
3254             <summary>
3255             The bodies of <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>, <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbGroupByExpression)"/>,
3256             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>, <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSortExpression)"/> are similar.
3257             Each does the following.
3258             <list type="number">
3259                 <item>Visit the input expression</item>
3260                 <item>
3261                     Determine if the input's SQL statement can be reused, or a new
3262                     one must be created.
3263                 </item>
3264                 <item>Create a new symbol table scope</item>
3265                 <item>
3266                     Push the Sql statement onto a stack, so that children can
3267                     update the free variable list.
3268                 </item>
3269                 <item>Visit the non-input expression.</item>
3270                 <item>Cleanup</item>
3271             </list>
3272             </summary>
3273             <returns>
3274             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3275             </returns>
3276         </member>
3277         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
3278             <summary>
3279             Lambda functions are not supported.
3280             The functions supported are:
3281             <list type="number">
3282                 <item>Canonical Functions - We recognize these by their dataspace, it is DataSpace.CSpace</item>
3283                 <item>Store Functions - We recognize these by the BuiltInAttribute and not being Canonical</item>
3284                 <item>User-defined Functions - All the rest</item>
3285             </list>
3286             We handle Canonical and Store functions the same way: If they are in the list of functions
3287             that need special handling, we invoke the appropriate handler, otherwise we translate them to
3288             FunctionName(arg1, arg2, ..., argn).
3289             We translate user-defined functions to NamespaceName.FunctionName(arg1, arg2, ..., argn).
3290             </summary>
3291             <returns>
3292             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3293             </returns>
3294         </member>
3295         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbGroupByExpression)">
3296             <summary>
3297             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> for general details.
3298             We modify both the GroupBy and the Select fields of the SqlSelectStatement.
3299             GroupBy gets just the keys without aliases,
3300             and Select gets the keys and the aggregates with aliases.
3301             Sql Server does not support arbitrarily complex expressions inside aggregates,
3302             and requires keys to have reference to the input scope,
3303             so in some cases we create a nested query in which we alias the arguments to the aggregates.
3304             The exact limitations of Sql Server are:
3305             <list type="number">
3306                 <item>
3307                     If an expression being aggregated contains an outer reference, then that outer
3308                     reference must be the only column referenced in the expression (SQLBUDT #488741)
3309                 </item>
3310                 <item>
3311                     Sql Server cannot perform an aggregate function on an expression containing
3312                     an aggregate or a subquery. (SQLBUDT #504600)
3313                 </item>
3314                 <item>
3315                     Sql Server requries each GROUP BY expression (key) to contain at least one column
3316                     that is not an outer reference. (SQLBUDT #616523)
3317                 </item>
3318                 <item>
3319                     Aggregates on the right side of an APPLY cannot reference columns from the left side.
3320                     (SQLBUDT #617683)
3321                 </item>
3322             </list>
3323             The default translation, without inner query is:
3324             SELECT
3325             kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
3326             aggf1(aexpr1) AS agg1, .. aggfn(aexprn) AS aggn
3327             FROM input AS a
3328             GROUP BY kexp1, kexp2, .. kexpn
3329             When we inject an innner query, the equivalent translation is:
3330             SELECT
3331             key1 AS key1, key2 AS key2, .. keyn AS keys,
3332             aggf1(agg1) AS agg1, aggfn(aggn) AS aggn
3333             FROM (
3334             SELECT
3335             kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
3336             aexpr1 AS agg1, .. aexprn AS aggn
3337             FROM input AS a
3338             ) as a
3339             GROUP BY key1, key2, keyn
3340             </summary>
3341             <returns>
3342             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3343             </returns>
3344         </member>
3345         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)">
3346             <summary>
3347             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>
3348             </summary>
3349         </member>
3350         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)">
3351             <summary>
3352             Not(IsEmpty) has to be handled specially, so we delegate to
3353             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitIsEmptyExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)"/>.
3354             </summary>
3355             <returns>
3356             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> . <code>[NOT] EXISTS( ... )</code>
3357             </returns>
3358         </member>
3359         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression)">
3360             <summary>
3361             Not(IsNull) is handled specially, so we delegate to
3362             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitIsNullExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression,System.Boolean)"/>
3363             </summary>
3364             <returns>
3365             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> <code>IS [NOT] NULL</code>
3366             </returns>
3367         </member>
3368         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsOfExpression)">
3369             <summary>
3370             No error is raised if the store cannot support this.
3371             </summary>
3372             <returns>
3373             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3374             </returns>
3375         </member>
3376         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCrossJoinExpression)">
3377             <summary>
3378             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
3379             </summary>
3380             <returns>
3381             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/> .
3382             </returns>
3383         </member>
3384         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression)">
3385             <summary>
3386             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
3387             </summary>
3388             <returns>
3389             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/> .
3390             </returns>
3391         </member>
3392         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLikeExpression)">
3393             <returns>
3394             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3395             </returns>
3396         </member>
3397         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLimitExpression)">
3398             <summary>
3399             Translates to TOP expression. For Sql8, limit can only be a constant expression
3400             </summary>
3401             <returns>
3402             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3403             </returns>
3404         </member>
3405         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
3406             <summary>
3407             DbNewInstanceExpression is allowed as a child of DbProjectExpression only.
3408             If anyone else is the parent, we throw.
3409             We also perform special casing for collections - where we could convert
3410             them into Unions
3411             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitNewInstanceExpression(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.Symbol}@)"/> for the actual implementation.
3412             </summary>
3413         </member>
3414         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNotExpression)">
3415             <summary>
3416             The Not expression may cause the translation of its child to change.
3417             These children are
3418             <list type="bullet">
3419                 <item>
3420                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbNotExpression"/>
3421                     NOT(Not(x)) becomes x
3422                 </item>
3423                 <item>
3424                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression"/>
3425                     NOT EXISTS becomes EXISTS
3426                 </item>
3427                 <item>
3428                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression"/>
3429                     IS NULL becomes IS NOT NULL
3430                 </item>
3431                 <item>
3432                     <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbComparisonExpression"/>
3433                     = becomes &lt;&gt;
3434                 </item>
3435             </list>
3436             </summary>
3437             <returns>
3438             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3439             </returns>
3440         </member>
3441         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNullExpression)">
3442             <returns>
3443             <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3444             </returns>
3445         </member>
3446         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOfTypeExpression)">
3447             <returns>
3448             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3449             </returns>
3450         </member>
3451         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOrExpression)">
3452             <summary>
3453             Visit a DbOrExpression and consider the subexpressions
3454             for whether to generate OR conditions or an IN clause.
3455             </summary>
3456             <param name="e"> DbOrExpression to be visited </param>
3457             <returns>
3458             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> fragment of SQL generated
3459             </returns>
3460             <seealso cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbAndExpression)"/>
3461         </member>
3462         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbInExpression)">
3463             <summary>
3464             Visits a DbInExpression and generates the corresponding SQL fragment.
3465             </summary>
3466             <param name="e">
3467             A <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbInExpression"/> that specifies the expression to be visited.
3468             </param>
3469             <returns>
3470             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> that specifies the generated SQL fragment.
3471             </returns>
3472         </member>
3473         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.TryTranslateIntoIn(System.Data.Entity.Core.Common.CommandTrees.DbOrExpression,System.Data.Entity.SqlServer.SqlGen.ISqlFragment@)">
3474             <summary>
3475             Determine if a DbOrExpression can be optimized into one or more IN clauses
3476             and generate an ISqlFragment if it is possible.
3477             </summary>
3478             <param name="e"> DbOrExpression to attempt translation upon </param>
3479             <param name="sqlFragment"> Fragment of SQL generated </param>
3480             <returns> True if an IN clause is possible and sqlFragment has been generated, false otherwise </returns>
3481         </member>
3482         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsKeyForIn(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3483             <summary>
3484             Determines if a DbExpression is a valid key for the purposes of generating an In clause optimization.
3485             </summary>
3486             <param name="e"> DbExpression to consider </param>
3487             <returns> True if the expression can be used as a key, false otherwise </returns>
3488         </member>
3489         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.TryAddExpressionForIn(System.Data.Entity.Core.Common.CommandTrees.DbBinaryExpression,System.Collections.Generic.IDictionary{System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression}})">
3490             <summary>
3491             Looks at both sides of a DbBinaryExpression to consider if either side is a valid candidate to
3492             be a key and if so adds it to the KeyToListMap as a key with the other side as the value.
3493             </summary>
3494             <param name="e"> DbBinaryExpression to consider </param>
3495             <param name="values"> KeyToListMap to add the sides of the binary expression to </param>
3496             <returns> True if the expression was added, false otherwise </returns>
3497         </member>
3498         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.HasBuiltMapForIn(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Collections.Generic.IDictionary{System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression}})">
3499             <summary>
3500             Attempts to build a KeyToListMap containing valid references and the appropriate value equality
3501             tests associated with each so that they can be optimized into IN clauses. Calls itself recursively
3502             to consider additional OR branches.
3503             </summary>
3504             <param name="e"> DbExpression representing the branch to evaluate </param>
3505             <param name="values"> KeyToListMap to which to add references and value equality tests encountered </param>
3506             <returns> True if this branch contained just equality tests or further OR branches, false otherwise </returns>
3507         </member>
3508         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbParameterReferenceExpression)">
3509             <summary>
3510             This method handles the DBParameterReference expressions. If the parameter is in
3511             a part of the tree, which matches our criteria for forcing to non-unicode, then
3512             we add it to the list of candidate parameters. If the parameter occurs in a different
3513             usage scenario, then disqualify it from being forced to non-unicode.
3514             </summary>
3515             <returns>
3516             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3517             </returns>
3518         </member>
3519         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)">
3520             <summary>
3521             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> for the general ideas.
3522             </summary>
3523             <returns>
3524             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3525             </returns>
3526             <seealso cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
3527         </member>
3528         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)">
3529             <summary>
3530             This method handles record flattening, which works as follows.
3531             consider an expression <c>Prop(y, Prop(x, Prop(d, Prop(c, Prop(b, Var(a)))))</c>
3532             where a,b,c are joins, d is an extent and x and y are fields.
3533             b has been flattened into a, and has its own SELECT statement.
3534             c has been flattened into b.
3535             d has been flattened into c.
3536             We visit the instance, so we reach Var(a) first.  This gives us a (join)symbol.
3537             Symbol(a).b gives us a join symbol, with a SELECT statement i.e. Symbol(b).
3538             From this point on , we need to remember Symbol(b) as the source alias,
3539             and then try to find the column.  So, we use a SymbolPair.
3540             We have reached the end when the symbol no longer points to a join symbol.
3541             </summary>
3542             <returns>
3543             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.JoinSymbol"/> if we have not reached the first Join node that has a SELECT statement. A
3544             <see cref="T:System.Data.Entity.SqlServer.SqlGen.SymbolPair"/>
3545             if we have seen the JoinNode, and it has a SELECT statement. A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/> with {Input}.propertyName otherwise.
3546             </returns>
3547         </member>
3548         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)">
3549             <summary>
3550             Any(input, x) => Exists(Filter(input,x))
3551             All(input, x) => Not Exists(Filter(input, not(x))
3552             </summary>
3553         </member>
3554         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression)">
3555             <summary>
3556             For Sql9 it translates to:
3557             SELECT Y.x1, Y.x2, ..., Y.xn
3558             FROM (
3559             SELECT X.x1, X.x2, ..., X.xn, row_number() OVER (ORDER BY sk1, sk2, ...) AS [row_number]
3560             FROM input as X
3561             ) as Y
3562             WHERE Y.[row_number] &gt; count
3563             ORDER BY sk1, sk2, ...
3564             </summary>
3565             <returns>
3566             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3567             </returns>
3568         </member>
3569         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSortExpression)">
3570             <summary>
3571             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
3572             </summary>
3573             <returns>
3574             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3575             </returns>
3576             <seealso cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
3577         </member>
3578         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbTreatExpression)">
3579             <returns>
3580             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3581             </returns>
3582         </member>
3583         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)">
3584             <summary>
3585             This code is shared by <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)"/>
3586             and <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)"/>
3587             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitSetOpExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)"/>
3588             Since the left and right expression may not be Sql select statements,
3589             we must wrap them up to look like SQL select statements.
3590             </summary>
3591         </member>
3592         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)">
3593             <summary>
3594             This method determines whether an extent from an outer scope(free variable)
3595             is used in the CurrentSelectStatement.
3596             An extent in an outer scope, if its symbol is not in the FromExtents
3597             of the CurrentSelectStatement.
3598             </summary>
3599             <returns>
3600             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.Symbol"/> .
3601             </returns>
3602         </member>
3603         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitAggregate(System.Data.Entity.Core.Common.CommandTrees.DbAggregate,System.Object)">
3604             <summary>
3605             Aggregates are not visited by the normal visitor walk.
3606             </summary>
3607             <param name="aggregate"> The aggregate go be translated </param>
3608             <param name="aggregateArgument"> The translated aggregate argument </param>
3609         </member>
3610         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.ParenthesizeExpressionIfNeeded(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.SqlServer.SqlGen.SqlBuilder)">
3611             <summary>
3612             Dump out an expression - optionally wrap it with parantheses if possible
3613             </summary>
3614         </member>
3615         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitBinaryExpression(System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3616             <summary>
3617             Handler for inline binary expressions.
3618             Produces left op right.
3619             For associative operations does flattening.
3620             Puts parenthesis around the arguments if needed.
3621             </summary>
3622         </member>
3623         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.FlattenAssociativeExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3624             <summary>
3625             Creates a flat list of the associative arguments.
3626             For example, for ((A1 + (A2 - A3)) + A4) it will create A1, (A2 - A3), A4
3627             Only 'unfolds' the given arguments that are of the given expression kind.
3628             </summary>
3629         </member>
3630         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.ExtractAssociativeArguments(System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.Collections.Generic.List{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3631             <summary>
3632             Helper method for FlattenAssociativeExpression.
3633             Creates a flat list of the associative arguments and appends to the given argument list.
3634             For example, for ((A1 + (A2 - A3)) + A4) it will add A1, (A2 - A3), A4 to the list.
3635             Only 'unfolds' the given expression if it is of the given expression kind.
3636             </summary>
3637         </member>
3638         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitComparisonExpression(System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3639             <summary>
3640             Private handler for comparison expressions - almost identical to VisitBinaryExpression.
3641             We special case constants, so that we don't emit unnecessary casts
3642             </summary>
3643             <param name="op"> the comparison op </param>
3644             <param name="left"> the left-side expression </param>
3645             <param name="right"> the right-side expression </param>
3646         </member>
3647         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitInputExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.Entity.SqlServer.SqlGen.Symbol@)">
3648             <summary>
3649             This is called by the relational nodes.  It does the following
3650             <list>
3651                 <item>
3652                     If the input is not a SqlSelectStatement, it assumes that the input
3653                     is a collection expression, and creates a new SqlSelectStatement
3654                 </item>
3655             </list>
3656             </summary>
3657             <returns>
3658             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/> and the main fromSymbol for this select statement.
3659             </returns>
3660         </member>
3661         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitIsEmptyExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)">
3662             <summary>
3663             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)"/>
3664             </summary>
3665             <param name="e"> </param>
3666             <param name="negate"> Was the parent a DbNotExpression? </param>
3667         </member>
3668         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitCollectionConstructor(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
3669             <summary>
3670             Translate a NewInstance(Element(X)) expression into
3671             "select top(1) * from X"
3672             </summary>
3673         </member>
3674         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitIsNullExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression,System.Boolean)">
3675             <summary>
3676             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression)"/>
3677             </summary>
3678             <param name="e"> </param>
3679             <param name="negate"> Was the parent a DbNotExpression? </param>
3680         </member>
3681         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3682             <summary>
3683             This handles the processing of join expressions.
3684             The extents on a left spine are flattened, while joins
3685             not on the left spine give rise to new nested sub queries.
3686             Joins work differently from the rest of the visiting, in that
3687             the parent (i.e. the join node) creates the SqlSelectStatement
3688             for the children to use.
3689             The "parameter" IsInJoinContext indicates whether a child extent should
3690             add its stuff to the existing SqlSelectStatement, or create a new SqlSelectStatement
3691             By passing true, we ask the children to add themselves to the parent join,
3692             by passing false, we ask the children to create new Select statements for
3693             themselves.
3694             This method is called from <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression)"/> and
3695             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression)"/>.
3696             </summary>
3697             <returns>
3698             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement"/>
3699             </returns>
3700         </member>
3701         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.ProcessJoinInputResult(System.Data.Entity.SqlServer.SqlGen.ISqlFragment,System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Int32)">
3702             <summary>
3703             This is called from <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>.
3704             This is responsible for maintaining the symbol table after visiting
3705             a child of a join expression.
3706             The child's sql statement may need to be completed.
3707             The child's result could be one of
3708             <list type="number">
3709                 <item>The same as the parent's - this is treated specially.</item>
3710                 <item>A sql select statement, which may need to be completed</item>
3711                 <item>An extent - just copy it to the from clause</item>
3712                 <item>
3713                     Anything else (from a collection-valued expression) -
3714                     unnest and copy it.
3715                 </item>
3716             </list>
3717             If the input was a Join, we need to create a new join symbol,
3718             otherwise, we create a normal symbol.
3719             We then call AddFromSymbol to add the AS clause, and update the symbol table.
3720             If the child's result was the same as the parent's, we have to clean up
3721             the list of symbols in the FromExtents list, since this contains symbols from
3722             the children of both the parent and the child.
3723             The happens when the child visited is a Join, and is the leftmost child of
3724             the parent.
3725             </summary>
3726         </member>
3727         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitNewInstanceExpression(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.Symbol}@)">
3728             <summary>
3729             We assume that this is only called as a child of a Project.
3730             This replaces <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)"/>, since
3731             we do not allow DbNewInstanceExpression as a child of any node other than
3732             DbProjectExpression.
3733             We write out the translation of each of the columns in the record.
3734             </summary>
3735             <returns>
3736             A <see cref="T:System.Data.Entity.SqlServer.SqlGen.SqlBuilder"/>
3737             </returns>
3738         </member>
3739         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitSetOpExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
3740             <summary>
3741             Handler for set operations
3742             It generates left separator right.
3743             Only for SQL 8.0 it may need to create a new select statement
3744             above the set operation if the left child's output columns got renamed
3745             </summary>
3746         </member>
3747         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.SqlServer.SqlGen.Symbol,System.Collections.Generic.List{System.Data.Entity.SqlServer.SqlGen.Symbol},System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.Symbol})">
3748             <summary>
3749             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>
3750             Add the column names from the referenced extent/join to the
3751             select statement.
3752             If the symbol is a JoinSymbol, we recursively visit all the extents,
3753             halting at real extents and JoinSymbols that have an associated SqlSelectStatement.
3754             The column names for a real extent can be derived from its type.
3755             The column names for a Join Select statement can be got from the
3756             list of columns that was created when the Join's select statement
3757             was created.
3758             We do the following for each column.
3759             <list type="number">
3760                 <item>Add the SQL string for each column to the SELECT clause</item>
3761                 <item>
3762                     Add the column to the list of columns - so that it can
3763                     become part of the "type" of a JoinSymbol
3764                 </item>
3765                 <item>
3766                     Check if the column name collides with a previous column added
3767                     to the same select statement.  Flag both the columns for renaming if true.
3768                 </item>
3769                 <item>Add the column to a name lookup dictionary for collision detection.</item>
3770             </list>
3771             </summary>
3772             <param name="selectStatement"> The select statement that started off as SELECT * </param>
3773             <param name="symbol"> The symbol containing the type information for the columns to be added. </param>
3774             <param name="columnList">
3775             Columns that have been added to the Select statement. This is created in
3776             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>
3777             .
3778             </param>
3779             <param name="columnDictionary"> A dictionary of the columns above. </param>
3780         </member>
3781         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CreateOptionalColumn(System.Data.Entity.SqlServer.SqlGen.Symbol,System.Data.Entity.SqlServer.SqlGen.Symbol)">
3782             <summary>
3783             Creates an optional column and registers the corresponding symbol with
3784             the optionalColumnUsageManager it has not already been registered.
3785             </summary>
3786         </member>
3787         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddColumn(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.SqlServer.SqlGen.Symbol,System.Collections.Generic.List{System.Data.Entity.SqlServer.SqlGen.Symbol},System.Collections.Generic.Dictionary{System.String,System.Data.Entity.SqlServer.SqlGen.Symbol},System.String)">
3788             <summary>
3789             Helper method for AddColumns. Adds a column with the given column name
3790             to the Select list of the given select statement.
3791             </summary>
3792             <param name="selectStatement"> The select statement to whose SELECT part the column should be added </param>
3793             <param name="symbol"> The symbol from which the column to be added originated </param>
3794             <param name="columnList">
3795             Columns that have been added to the Select statement. This is created in
3796             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)"/>
3797             .
3798             </param>
3799             <param name="columnDictionary"> A dictionary of the columns above. </param>
3800             <param name="columnName"> The name of the column to be added. </param>
3801         </member>
3802         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddDefaultColumns(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement)">
3803             <summary>
3804             Expands Select * to "select the_list_of_columns"
3805             If the columns are taken from an extent, they are written as
3806             {original_column_name AS Symbol(original_column)} to allow renaming.
3807             If the columns are taken from a Join, they are written as just
3808             {original_column_name}, since there cannot be a name collision.
3809             We concatenate the columns from each of the inputs to the select statement.
3810             Since the inputs may be joins that are flattened, we need to recurse.
3811             The inputs are inferred from the symbols in FromExtents.
3812             </summary>
3813         </member>
3814         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddFromSymbol(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.SqlServer.SqlGen.Symbol)">
3815             <summary>
3816             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddFromSymbol(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.SqlServer.SqlGen.Symbol,System.Boolean)"/>
3817             </summary>
3818         </member>
3819         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddFromSymbol(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.SqlServer.SqlGen.Symbol,System.Boolean)">
3820             <summary>
3821             This method is called after the input to a relational node is visited.
3822             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/> and <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.ProcessJoinInputResult(System.Data.Entity.SqlServer.SqlGen.ISqlFragment,System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Int32)"/>
3823             There are 2 scenarios
3824             <list type="number">
3825                 <item>
3826                     The fromSymbol is new i.e. the select statement has just been
3827                     created, or a join extent has been added.
3828                 </item>
3829                 <item>The fromSymbol is old i.e. we are reusing a select statement.</item>
3830             </list>
3831             If we are not reusing the select statement, we have to complete the
3832             FROM clause with the alias
3833             <code>-- if the input was an extent
3834                 FROM = [SchemaName].[TableName]
3835                 -- if the input was a Project
3836                 FROM = (SELECT ... FROM ... WHERE ...)</code>
3837             These become
3838             <code>-- if the input was an extent
3839                 FROM = [SchemaName].[TableName] AS alias
3840                 -- if the input was a Project
3841                 FROM = (SELECT ... FROM ... WHERE ...) AS alias</code>
3842             and look like valid FROM clauses.
3843             Finally, we have to add the alias to the global list of aliases used,
3844             and also to the current symbol table.
3845             </summary>
3846             <param name="selectStatement"> </param>
3847             <param name="inputVarName"> The alias to be used. </param>
3848             <param name="fromSymbol"> </param>
3849             <param name="addToSymbolTable"> </param>
3850         </member>
3851         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AddSortKeys(System.Data.Entity.SqlServer.SqlGen.SqlBuilder,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbSortClause})">
3852             <summary>
3853             Translates a list of SortClauses.
3854             Used in the translation of OrderBy
3855             </summary>
3856             <param name="orderByClause"> The SqlBuilder to which the sort keys should be appended </param>
3857             <param name="sortKeys"> </param>
3858         </member>
3859         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CreateNewSelectStatement(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.Entity.SqlServer.SqlGen.Symbol@)">
3860             <summary>
3861             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CreateNewSelectStatement(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Data.Entity.SqlServer.SqlGen.Symbol@)"/>
3862             </summary>
3863         </member>
3864         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CreateNewSelectStatement(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Data.Entity.SqlServer.SqlGen.Symbol@)">
3865             <summary>
3866             This is called after a relational node's input has been visited, and the
3867             input's sql statement cannot be reused.  <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>
3868             When the input's sql statement cannot be reused, we create a new sql
3869             statement, with the old one as the from clause of the new statement.
3870             The old statement must be completed i.e. if it has an empty select list,
3871             the list of columns must be projected out.
3872             If the old statement being completed has a join symbol as its from extent,
3873             the new statement must have a clone of the join symbol as its extent.
3874             We cannot reuse the old symbol, but the new select statement must behave
3875             as though it is working over the "join" record.
3876             </summary>
3877             <returns> A new select statement, with the old one as the from clause. </returns>
3878         </member>
3879         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.EscapeSingleQuote(System.String,System.Boolean)">
3880             <summary>
3881             Before we embed a string literal in a SQL string, we should
3882             convert all ' to '', and enclose the whole string in single quotes.
3883             </summary>
3884             <returns> The escaped sql string. </returns>
3885         </member>
3886         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GetSqlPrimitiveType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
3887             <summary>
3888             Returns the sql primitive/native type name.
3889             It will include size, precision or scale depending on type information present in the
3890             type facets
3891             </summary>
3892         </member>
3893         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.HandleCountExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3894             <summary>
3895             Handles the expression represending DbLimitExpression.Limit and DbSkipExpression.Count.
3896             If it is a constant expression, it simply does to string thus avoiding casting it to the specific value
3897             (which would be done if <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression)"/> is called)
3898             </summary>
3899         </member>
3900         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsApplyExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3901             <summary>
3902             This is used to determine if a particular expression is an Apply operation.
3903             This is only the case when the DbExpressionKind is CrossApply or OuterApply.
3904             </summary>
3905         </member>
3906         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsJoinExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3907             <summary>
3908             This is used to determine if a particular expression is a Join operation.
3909             This is true for DbCrossJoinExpression and DbJoinExpression, the
3910             latter of which may have one of several different ExpressionKinds.
3911             </summary>
3912         </member>
3913         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsComplexExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3914             <summary>
3915             This is used to determine if a calling expression needs to place
3916             round brackets around the translation of the expression e.
3917             Constants, parameters and properties do not require brackets,
3918             everything else does.
3919             </summary>
3920             <returns> true, if the expression needs brackets </returns>
3921         </member>
3922         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsCompatible(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind)">
3923             <summary>
3924             Determine if the owner expression can add its unique sql to the input's
3925             SqlSelectStatement
3926             </summary>
3927             <param name="result"> The SqlSelectStatement of the input to the relational node. </param>
3928             <param name="expressionKind"> The kind of the expression node(not the input's) </param>
3929         </member>
3930         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.QuoteIdentifier(System.String)">
3931             <summary>
3932             We use the normal box quotes for SQL server.  We do not deal with ANSI quotes
3933             i.e. double quotes.
3934             </summary>
3935         </member>
3936         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
3937             <summary>
3938             Simply calls <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean,System.Boolean)"/>
3939             with addDefaultColumns set to true and markAllDefaultColumnsAsUsed set to false.
3940             </summary>
3941         </member>
3942         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean,System.Boolean)">
3943             <summary>
3944             This is called from <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GenerateSql(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree,System.Collections.Generic.HashSet{System.String}@)"/>
3945             and nodes which require a select statement as an argument e.g. <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)"/>,
3946             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>.
3947             SqlGenerator needs its child to have a proper alias if the child is
3948             just an extent or a join.
3949             The normal relational nodes result in complete valid SQL statements.
3950             For the rest, we need to treat them as there was a dummy
3951             <code>-- originally {expression}
3952                                             -- change that to
3953                                             SELECT *
3954                                             FROM {expression} as c</code>
3955             DbLimitExpression needs to start the statement but not add the default columns
3956             </summary>
3957         </member>
3958         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.VisitFilterExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)">
3959             <summary>
3960             This method is called by <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> and
3961             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)"/>
3962             </summary>
3963             <param name="input"> </param>
3964             <param name="predicate"> </param>
3965             <param name="negatePredicate">
3966             This is passed from <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)"/> in the All(...) case.
3967             </param>
3968         </member>
3969         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.WrapNonQueryExtent(System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement,System.Data.Entity.SqlServer.SqlGen.ISqlFragment,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind)">
3970             <summary>
3971             If the sql fragment for an input expression is not a SqlSelect statement
3972             or other acceptable form (e.g. an extent as a SqlBuilder), we need
3973             to wrap it in a form acceptable in a FROM clause.  These are
3974             primarily the
3975             <list type="bullet">
3976                 <item>The set operation expressions - union all, intersect, except</item>
3977                 <item>TVFs, which are conceptually similar to tables</item>
3978             </list>
3979             </summary>
3980         </member>
3981         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GroupByAggregatesNeedInnerQuery(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbAggregate},System.String)">
3982             <summary>
3983             Helper method for the Group By visitor
3984             Returns true if at least one of the aggregates in the given list
3985             has an argument that is not a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression"/> and is not
3986             a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>,
3987             either potentially capped with a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCastExpression"/>
3988             This is really due to the following two limitations of Sql Server:
3989             <list type="number">
3990                 <item>
3991                     If an expression being aggregated contains an outer reference, then that outer
3992                     reference must be the only column referenced in the expression (SQLBUDT #488741)
3993                 </item>
3994                 <item>
3995                     Sql Server cannot perform an aggregate function on an expression containing
3996                     an aggregate or a subquery. (SQLBUDT #504600)
3997                 </item>
3998             </list>
3999             Potentially, we could furhter optimize this.
4000             </summary>
4001         </member>
4002         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GroupByAggregateNeedsInnerQuery(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
4003             <summary>
4004             Returns true if the given expression is not a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression"/> or a
4005             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over  a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>
4006             referencing the given inputVarRefName, either
4007             potentially capped with a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCastExpression"/>.
4008             </summary>
4009         </member>
4010         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GroupByKeysNeedInnerQuery(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpression},System.String)">
4011             <summary>
4012             Helper method for the Group By visitor
4013             Returns true if at least one of the expressions in the given list
4014             is not <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>
4015             referencing the given inputVarRefName potentially capped with a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCastExpression"/>.
4016             This is really due to the following limitation: Sql Server requires each GROUP BY expression
4017             (key) to contain at least one column that is not an outer reference. (SQLBUDT #616523)
4018             Potentially, we could further optimize this.
4019             </summary>
4020         </member>
4021         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GroupByKeyNeedsInnerQuery(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
4022             <summary>
4023             Returns true if the given expression is not <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over
4024             <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/> referencing the given inputVarRefName
4025             potentially capped with a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCastExpression"/>.
4026             This is really due to the following limitation: Sql Server requires each GROUP BY expression
4027             (key) to contain at least one column that is not an outer reference. (SQLBUDT #616523)
4028             Potentially, we could further optimize this.
4029             </summary>
4030         </member>
4031         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.GroupByExpressionNeedsInnerQuery(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String,System.Boolean)">
4032             <summary>
4033             Helper method for processing Group By keys and aggregates.
4034             Returns true if the given expression is not a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression"/>
4035             (and allowConstants is specified)or a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over
4036             a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/> referencing the given inputVarRefName,
4037             either potentially capped with a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCastExpression"/>.
4038             </summary>
4039         </member>
4040         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AssertKatmaiOrNewer(System.Data.Entity.Core.Metadata.Edm.PrimitiveTypeKind)">
4041             <summary>
4042             Throws not supported exception if the server is pre-katmai
4043             </summary>
4044         </member>
4045         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.AssertKatmaiOrNewer(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
4046             <summary>
4047             Throws not supported exception if the server is pre-katmai
4048             </summary>
4049         </member>
4050         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.CurrentSelectStatement">
4051             <summary>
4052             The top of the stack
4053             </summary>
4054         </member>
4055         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.IsParentAJoin">
4056             <summary>
4057             Determine if the parent is a join.
4058             </summary>
4059         </member>
4060         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.KeyFieldExpressionComparer">
4061             <summary>
4062             Required by the KeyToListMap to allow certain DbExpression subclasses to be used as a key
4063             which is not normally possible given their lack of Equals and GetHashCode implementations
4064             for testing object value equality.
4065             </summary>
4066         </member>
4067         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.KeyFieldExpressionComparer.Equals(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
4068             <summary>
4069             Compare two DbExpressions to see if they are equal for the purposes of
4070             our key management. We only support DbPropertyExpression, DbParameterReferenceExpression,
4071             VariableReferenceExpression and DbCastExpression types. Everything else will fail to
4072             be considered equal.
4073             </summary>
4074             <param name="x"> First DbExpression to consider for equality </param>
4075             <param name="y"> Second DbExpression to consider for equality </param>
4076             <returns> True if the types are allowed and equal, false otherwise </returns>
4077         </member>
4078         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.KeyFieldExpressionComparer.GetHashCode(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
4079             <summary>
4080             Calculates a hashcode for a given number of DbExpression subclasses to allow the KeyToListMap
4081             to efficiently and reliably locate existing keys.
4082             </summary>
4083             <param name="obj"> DbExpression to calculate a hashcode for </param>
4084             <returns> Integer containing the hashcode </returns>
4085         </member>
4086         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectClauseBuilder">
4087             <summary>
4088             This class is used for building the SELECT clause of a Sql Statement
4089             It is used to gather information about required and optional columns
4090             and whether TOP and DISTINCT should be specified.
4091             The underlying SqlBuilder is used for gathering the required columns.
4092             The list of OptionalColumns is used for gathering the optional columns.
4093             Whether a given OptionalColumn should be written is known only after the entire
4094             command tree has been processed.
4095             The IsDistinct property indicates that we want distinct columns.
4096             This is given out of band, since the input expression to the select clause
4097             may already have some columns projected out, and we use append-only SqlBuilders.
4098             The DISTINCT is inserted when we finally write the object into a string.
4099             Also, we have a Top property, which is non-null if the number of results should
4100             be limited to certain number. It is given out of band for the same reasons as DISTINCT.
4101             </summary>
4102         </member>
4103         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlSelectClauseBuilder.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
4104             <summary>
4105             Writes the string representing the Select statement:
4106             SELECT (DISTINCT) (TOP topClause) (optionalColumns) (requiredColumns)
4107             If Distinct is specified or this is part of a top most statement
4108             all optional columns are marked as used.
4109             Optional columns are only written if marked as used.
4110             In addition, if no required columns are specified and no optional columns are
4111             marked as used, the first optional column is written.
4112             </summary>
4113         </member>
4114         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlSelectClauseBuilder.WriteOptionalColumns(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
4115             <summary>
4116             Writes the optional columns that are used.
4117             If this is the topmost statement or distict is specifed as part of the same statement
4118             all optoinal columns are written.
4119             </summary>
4120             <returns> Whether at least one column got written </returns>
4121         </member>
4122         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlSelectClauseBuilder.IsDistinct">
4123             <summary>
4124             Do we need to add a DISTINCT at the beginning of the SELECT
4125             </summary>
4126         </member>
4127         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlSelectClauseBuilder.IsEmpty">
4128             <summary>
4129             Whether any columns have been specified.
4130             </summary>
4131         </member>
4132         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement">
4133             <summary>
4134             A SqlSelectStatement represents a canonical SQL SELECT statement.
4135             It has fields for the 5 main clauses
4136             <list type="number">
4137                 <item>SELECT</item>
4138                 <item>FROM</item>
4139                 <item>WHERE</item>
4140                 <item>GROUP BY</item>
4141                 <item>ORDER BY</item>
4142             </list>
4143             We do not have HAVING, since the CQT does not have such a node.
4144             Each of the fields is a SqlBuilder, so we can keep appending SQL strings
4145             or other fragments to build up the clause.
4146             The FromExtents contains the list of inputs in use for the select statement.
4147             There is usually just one element in this - Select statements for joins may
4148             temporarily have more than one.
4149             If the select statement is created by a Join node, we maintain a list of
4150             all the extents that have been flattened in the join in AllJoinExtents
4151             <example>
4152                 in J(j1= J(a,b), c)
4153                 FromExtents has 2 nodes JoinSymbol(name=j1, ...) and Symbol(name=c)
4154                 AllJoinExtents has 3 nodes Symbol(name=a), Symbol(name=b), Symbol(name=c)
4155             </example>
4156             If any expression in the non-FROM clause refers to an extent in a higher scope,
4157             we add that extent to the OuterExtents list.  This list denotes the list
4158             of extent aliases that may collide with the aliases used in this select statement.
4159             It is set by <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/>.
4160             An extent is an outer extent if it is not one of the FromExtents.
4161             </summary>
4162         </member>
4163         <member name="M:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
4164             <summary>
4165             Write out a SQL select statement as a string.
4166             We have to
4167             <list type="number">
4168                 <item>
4169                     Check whether the aliases extents we use in this statement have
4170                     to be renamed.
4171                     We first create a list of all the aliases used by the outer extents.
4172                     For each of the FromExtents( or AllJoinExtents if it is non-null),
4173                     rename it if it collides with the previous list.
4174                 </item>
4175                 <item>Write each of the clauses (if it exists) as a string</item>
4176             </list>
4177             </summary>
4178         </member>
4179         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement.OutputColumnsRenamed">
4180             <summary>
4181             Whether the columns ouput by this sql statement were renamed from what given in the command tree.
4182             </summary>
4183         </member>
4184         <member name="P:System.Data.Entity.SqlServer.SqlGen.SqlSelectStatement.OutputColumns">
4185             <summary>
4186             A dictionary of output columns
4187             </summary>
4188         </member>
4189         <member name="T:System.Data.Entity.SqlServer.SqlGen.SqlWriter">
4190             <summary>
4191             This extends IndentedTextWriter/StringWriter primarily to add the ability to add an indent
4192             to each line that is written out.
4193             </summary>
4194         </member>
4195         <member name="T:System.Data.Entity.SqlServer.SqlGen.SymbolPair">
4196             <summary>
4197             The SymbolPair exists to solve the record flattening problem.
4198             <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>
4199             Consider a property expression D(v, "j3.j2.j1.a.x")
4200             where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
4201             This has to be translated eventually into {j'}.{x'}
4202             The source field represents the outermost SqlStatement representing a join
4203             expression (say j2) - this is always a Join symbol.
4204             The column field keeps moving from one join symbol to the next, until it
4205             stops at a non-join symbol.
4206             This is returned by <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>,
4207             but never makes it into a SqlBuilder.
4208             </summary>
4209         </member>
4210         <member name="T:System.Data.Entity.SqlServer.SqlGen.SymbolTable">
4211             <summary>
4212             The symbol table is quite primitive - it is a stack with a new entry for
4213             each scope.  Lookups search from the top of the stack to the bottom, until
4214             an entry is found.
4215             The symbols are of the following kinds
4216             <list type="bullet">
4217                 <item>
4218                     <see cref="T:System.Data.Entity.SqlServer.SqlGen.Symbol"/>
4219                     represents tables (extents/nested selects/unnests)
4220                 </item>
4221                 <item>
4222                     <see cref="T:System.Data.Entity.SqlServer.SqlGen.JoinSymbol"/>
4223                     represents Join nodes
4224                 </item>
4225                 <item>
4226                     <see cref="T:System.Data.Entity.SqlServer.SqlGen.Symbol"/>
4227                     columns.
4228                 </item>
4229             </list>
4230             Symbols represent names <see cref="M:System.Data.Entity.SqlServer.SqlGen.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/> to be resolved,
4231             or things to be renamed.
4232             </summary>
4233         </member>
4234         <member name="T:System.Data.Entity.SqlServer.SqlGen.SymbolUsageManager">
4235             <summary>
4236             Tracks the usage of symbols.
4237             When registering a symbol with the usage manager if an input symbol is specified,
4238             than the usage of the two is 'connected' - if one ever gets marked as used,
4239             the other one becomes 'used' too.
4240             </summary>
4241         </member>
4242         <member name="T:System.Data.Entity.SqlServer.SqlGen.TopClause">
4243             <summary>
4244             TopClause represents the a TOP expression in a SqlSelectStatement.
4245             It has a count property, which indicates how many TOP rows should be selected and a
4246             boolen WithTies property.
4247             </summary>
4248         </member>
4249         <member name="M:System.Data.Entity.SqlServer.SqlGen.TopClause.#ctor(System.Data.Entity.SqlServer.SqlGen.ISqlFragment,System.Boolean)">
4250             <summary>
4251             Creates a TopClause with the given topCount and withTies.
4252             </summary>
4253         </member>
4254         <member name="M:System.Data.Entity.SqlServer.SqlGen.TopClause.#ctor(System.Int32,System.Boolean)">
4255             <summary>
4256             Creates a TopClause with the given topCount and withTies.
4257             </summary>
4258         </member>
4259         <member name="M:System.Data.Entity.SqlServer.SqlGen.TopClause.WriteSql(System.Data.Entity.SqlServer.SqlGen.SqlWriter,System.Data.Entity.SqlServer.SqlGen.SqlGenerator)">
4260             <summary>
4261             Write out the TOP part of sql select statement
4262             It basically writes TOP (X) [WITH TIES].
4263             The brackets around X are ommited for Sql8.
4264             </summary>
4265         </member>
4266         <member name="P:System.Data.Entity.SqlServer.SqlGen.TopClause.WithTies">
4267             <summary>
4268             Do we need to add a WITH_TIES to the top statement
4269             </summary>
4270         </member>
4271         <member name="P:System.Data.Entity.SqlServer.SqlGen.TopClause.TopCount">
4272             <summary>
4273             How many top rows should be selected.
4274             </summary>
4275         </member>
4276         <member name="T:System.Data.Entity.SqlServer.SqlProviderManifest">
4277             <summary>
4278             The Provider Manifest for SQL Server
4279             </summary>
4280         </member>
4281         <member name="F:System.Data.Entity.SqlServer.SqlProviderManifest.varcharMaxSize">
4282             <summary>
4283             Maximum size of SQL Server unicode
4284             </summary>
4285         </member>
4286         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.#ctor(System.String)">
4287             <summary>
4288             Initializes a new instance of the <see cref="T:System.Data.Entity.SqlServer.SqlProviderManifest"/> class.
4289             </summary>
4290             <param name="manifestToken"> A token used to infer the capabilities of the store. </param>
4291         </member>
4292         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.EscapeLikeText(System.String,System.Boolean,System.Boolean@)">
4293             <summary>
4294             Function to detect wildcard characters %, _, [ and ^ and escape them with a preceding ~
4295             This escaping is used when StartsWith, EndsWith and Contains canonical and CLR functions
4296             are translated to their equivalent LIKE expression
4297             NOTE: This code has been copied from LinqToSql
4298             </summary>
4299             <param name="text"> Original input as specified by the user </param>
4300             <param name="alwaysEscapeEscapeChar"> escape the escape character ~ regardless whether wildcard characters were encountered </param>
4301             <param name="usedEscapeChar"> true if the escaping was performed, false if no escaping was required </param>
4302             <returns> The escaped string that can be used as pattern in a LIKE expression </returns>
4303         </member>
4304         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.GetDbInformation(System.String)">
4305             <summary>
4306             Providers should override this to return information specific to their provider.
4307             This method should never return null.
4308             </summary>
4309             <param name="informationType"> The name of the information to be retrieved. </param>
4310             <returns> An XmlReader at the begining of the information requested. </returns>
4311         </member>
4312         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.GetEdmType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
4313             <summary>
4314             This method takes a type and a set of facets and returns the best mapped equivalent type
4315             in EDM.
4316             </summary>
4317             <param name="storeType"> A TypeUsage encapsulating a store type and a set of facets </param>
4318             <returns> A TypeUsage encapsulating an EDM type and a set of facets </returns>
4319         </member>
4320         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.GetStoreType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
4321             <summary>
4322             This method takes a type and a set of facets and returns the best mapped equivalent type
4323             in SQL Server, taking the store version into consideration.
4324             </summary>
4325             <param name="edmType"> A TypeUsage encapsulating an EDM type and a set of facets </param>
4326             <returns> A TypeUsage encapsulating a store type and a set of facets </returns>
4327         </member>
4328         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.SupportsEscapingLikeArgument(System.Char@)">
4329             <summary>
4330             Returns true, SqlClient supports escaping strings to be used as arguments to like
4331             The escape character is '~'
4332             </summary>
4333             <param name="escapeCharacter"> The character '~' </param>
4334             <returns> True </returns>
4335         </member>
4336         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.EscapeLikeArgument(System.String)">
4337             <summary>
4338             Escapes the wildcard characters and the escape character in the given argument.
4339             </summary>
4340             <returns> Equivalent to the argument, with the wildcard characters and the escape character escaped </returns>
4341         </member>
4342         <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.SupportsInExpression">
4343             <summary>
4344             Returns a boolean that specifies whether the corresponding provider can handle expression trees 
4345             containing instances of DbInExpression.
4346             The Sql provider handles instances of DbInExpression.
4347             </summary>
4348             <returns> <c>true</c>. </returns>
4349         </member>
4350         <member name="T:System.Data.Entity.SqlServer.SqlProviderServices">
4351             <summary>
4352             The DbProviderServices implementation for the SqlClient provider for SQL Server.
4353             </summary>
4354             <remarks>
4355             Note that instance of this type also resolve additional provider services for Microsoft SQL Server
4356             when this type is registered as an EF provider either using an entry in the application's config file
4357             or through code-based registration in <see cref="T:System.Data.Entity.DbConfiguration"/>.
4358             The services resolved are:
4359             Requests for <see cref="T:System.Data.Entity.Infrastructure.IDbConnectionFactory"/> are resolved to a Singleton instance of
4360             <see cref="T:System.Data.Entity.Infrastructure.SqlConnectionFactory"/> to create connections to SQL Express by default.
4361             Requests for <see cref="T:System.Func`1"/> for the invariant name "System.Data.SqlClient"
4362             for any server name are resolved to a delegate that returns a <see cref="T:System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy"/>
4363             to provide a non-retrying policy for SQL Server.
4364             Requests for <see cref="T:System.Data.Entity.Migrations.Sql.MigrationSqlGenerator"/> for the invariant name "System.Data.SqlClient" are
4365             resolved to <see cref="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator"/> instances to provide default Migrations SQL
4366             generation for SQL Server.
4367             Requests for <see cref="T:System.Data.Entity.Spatial.DbSpatialServices"/> for the invariant name "System.Data.SqlClient" are
4368             resolved to a Singleton instance of <see cref="T:System.Data.Entity.SqlServer.SqlSpatialServices"/> to provide default spatial
4369             services for SQL Server.
4370             </remarks>
4371         </member>
4372         <member name="F:System.Data.Entity.SqlServer.SqlProviderServices.ProviderInvariantName">
4373             <summary>
4374             This is the well-known string using in configuration files and code-based configuration as
4375             the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and
4376             Entity Framework provider services.
4377             </summary>
4378         </member>
4379         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.#ctor">
4380             <summary>
4381             Private constructor to ensure only Singleton instance is created.
4382             </summary>
4383         </member>
4384         <member name="F:System.Data.Entity.SqlServer.SqlProviderServices._providerInstance">
4385             <summary>
4386             Singleton object
4387             </summary>
4388         </member>
4389         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.RegisterInfoMessageHandler(System.Data.Common.DbConnection,System.Action{System.String})">
4390             <summary>
4391             Registers a handler to process non-error messages coming from the database provider.
4392             </summary>
4393             <param name="connection"> The connection to receive information for. </param>
4394             <param name="handler"> The handler to process messages. </param>
4395         </member>
4396         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CreateDbCommandDefinition(System.Data.Entity.Core.Common.DbProviderManifest,System.Data.Entity.Core.Common.CommandTrees.DbCommandTree)">
4397             <summary>
4398             Create a Command Definition object, given the connection and command tree
4399             </summary>
4400             <param name="providerManifest"> provider manifest that was determined from metadata </param>
4401             <param name="commandTree"> command tree for the statement </param>
4402             <returns> an executable command definition object </returns>
4403         </member>
4404         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CreateCommand(System.Data.Entity.Core.Common.DbProviderManifest,System.Data.Entity.Core.Common.CommandTrees.DbCommandTree)">
4405             <summary>
4406             Create a SqlCommand object, given the provider manifest and command tree
4407             </summary>
4408             <param name="providerManifest"> provider manifest </param>
4409             <param name="commandTree"> command tree for the statement </param>
4410             <returns> a command object </returns>
4411         </member>
4412         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.SetDbParameterValue(System.Data.Common.DbParameter,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Object)">
4413             <summary>
4414             Sets the parameter value and appropriate facets for the given <see cref="T:System.Data.Entity.Core.Metadata.Edm.TypeUsage"/>.
4415             </summary>
4416             <param name="parameter">The parameter.</param>
4417             <param name="parameterType">The type of the parameter.</param>
4418             <param name="value">The value of the parameter.</param>
4419         </member>
4420         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConnection)">
4421             <summary>
4422             Returns provider manifest token for a given connection.
4423             </summary>
4424             <param name="connection"> Connection to find manifest token from. </param>
4425             <returns> The provider manifest token for the specified connection. </returns>
4426         </member>
4427         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifest(System.String)">
4428             <summary>
4429             Returns the provider manifest by using the specified version information.
4430             </summary>
4431             <param name="versionHint"> The token information associated with the provider manifest. </param>
4432             <returns> The provider manifest by using the specified version information. </returns>
4433         </member>
4434         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbSpatialDataReader(System.Data.Common.DbDataReader,System.String)">
4435             <summary>
4436             Gets a spatial data reader for SQL Server.
4437             </summary>
4438             <param name="fromReader"> The reader where the spatial data came from. </param>
4439             <param name="versionHint"> The manifest token associated with the provider manifest. </param>
4440             <returns> The spatial data reader. </returns>
4441         </member>
4442         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbGetSpatialServices(System.String)">
4443             <summary>
4444             Gets a spatial data reader for SQL Server.
4445             </summary>
4446             <param name="versionHint"> The manifest token associated with the provider manifest. </param>
4447             <returns> The spatial data reader. </returns>
4448         </member>
4449         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CreateSqlParameter(System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.Entity.Core.Metadata.Edm.ParameterMode,System.Object,System.Boolean,System.Data.Entity.SqlServer.SqlVersion)">
4450             <summary>
4451             Creates a SqlParameter given a name, type, and direction
4452             </summary>
4453         </member>
4454         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.EnsureSqlParameterValue(System.Object)">
4455             <summary>
4456             Validates that the specified value is compatible with SqlParameter and if not, attempts to return an appropriate value that is.
4457             Currently only spatial values (DbGeography/DbGeometry) may not be directly usable with SqlParameter. For these types, an instance
4458             of the corresponding SQL Server CLR spatial UDT will be manufactured based on the spatial data contained in
4459             <paramref name="value" />.
4460             If <paramref name="value" /> is an instance of DbGeography/DbGeometry that was read from SQL Server by this provider, then the wrapped
4461             CLR UDT value is available via the ProviderValue property (see SqlSpatialServices for the full conversion process from instances of
4462             DbGeography/DbGeometry to instances of the CLR SqlGeography/SqlGeometry UDTs)
4463             </summary>
4464         </member>
4465         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetSqlDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Data.Entity.SqlServer.SqlVersion,System.Nullable{System.Int32}@,System.Nullable{System.Byte}@,System.Nullable{System.Byte}@,System.String@)">
4466             <summary>
4467             Determines SqlDbType for the given primitive type. Extracts facet
4468             information as well.
4469             </summary>
4470         </member>
4471         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetParameterSize(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean)">
4472             <summary>
4473             Determines preferred value for SqlParameter.Size. Returns null
4474             where there is no preference.
4475             </summary>
4476         </member>
4477         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetKatmaiDateTimePrecision(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean)">
4478             <summary>
4479             Returns SqlParameter.Precision where the type facet exists. Otherwise,
4480             returns null or the maximum available precision to avoid truncation (which can occur
4481             for output parameters).
4482             </summary>
4483         </member>
4484         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetParameterPrecision(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Nullable{System.Byte})">
4485             <summary>
4486             Returns SqlParameter.Precision where the type facet exists. Otherwise,
4487             returns null.
4488             </summary>
4489         </member>
4490         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetScale(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
4491             <summary>
4492             Returns SqlParameter.Scale where the type facet exists. Otherwise,
4493             returns null.
4494             </summary>
4495         </member>
4496         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetStringDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
4497             <summary>
4498             Chooses the appropriate SqlDbType for the given string type.
4499             </summary>
4500         </member>
4501         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetBinaryDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
4502             <summary>
4503             Chooses the appropriate SqlDbType for the given binary type.
4504             </summary>
4505         </member>
4506         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabaseScript(System.String,System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
4507             <summary>
4508             Generates a data definition language (DDL) script that creates schema objects 
4509             (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection 
4510             parameter and targeted for the version of the database corresponding to the provider manifest token.
4511             </summary>
4512             <param name="providerManifestToken"> The provider manifest token identifying the target version. </param>
4513             <param name="storeItemCollection"> The structure of the database. </param>
4514             <returns>
4515             A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter 
4516             and targeted for the version of the database corresponding to the provider manifest token.
4517             </returns>
4518         </member>
4519         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
4520             <summary>
4521             Create the database and the database objects.
4522             If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename.
4523             Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name.
4524             However if we try to replicate the name under which it would be attached, the following scenario would fail:
4525             The file does not exist, but registered with database.
4526             The user calls:  If (DatabaseExists) DeleteDatabase
4527             CreateDatabase
4528             For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
4529             </summary>
4530         </member>
4531         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetLdfFileName(System.String)">
4532             <summary>
4533             Get the Ldf name given the Mdf full name
4534             </summary>
4535         </member>
4536         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GenerateDatabaseName(System.String)">
4537             <summary>
4538             Generates database name based on the given mdfFileName.
4539             The logic is replicated from System.Web.DataAccess.SqlConnectionHelper
4540             </summary>
4541         </member>
4542         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetMdfFileName(System.String)">
4543             <summary>
4544             Get the full mdf file name given the attachDBFile value from the connection string
4545             </summary>
4546         </member>
4547         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDatabaseExists(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
4548             <summary>
4549             Determines whether the database for the given connection exists.
4550             There are three cases:
4551             1.  Initial Catalog = X, AttachDBFilename = null:   (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
4552             2.  Initial Catalog = X, AttachDBFilename = F:      if (SELECT Count(*) FROM sys.databases WHERE [name]= X) >  true,
4553             if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
4554             3.  Initial Catalog = null, AttachDBFilename = F:   Try to open the connection. If that succeeds the result is true, otherwise
4555             if the there are no databases corresponding to the given file return false, otherwise throw.
4556             Note: We open the connection to cover the scenario when the mdf exists, but is not attached.
4557             Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case.
4558             Also note that checking for the existence of the file does not work for a remote server.  (Dev11 #290487)
4559             For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
4560             </summary>
4561         </member>
4562         <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDeleteDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
4563             <summary>
4564             Delete the database for the given connection.
4565             There are three cases:
4566             1.  If Initial Catalog is specified (X) drop database X
4567             2.  Else if AttachDBFilename is specified (F) drop all the databases corresponding to F
4568             if none throw
4569             3.  If niether the catalog not the file name is specified - throw
4570             Note that directly deleting the files does not work for a remote server.  However, even for not attached
4571             databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase
4572             </summary>
4573             <param name="connection"> Connection </param>
4574             <param name="commandTimeout"> Timeout for internal commands. </param>
4575             <param name="storeItemCollection"> Item Collection. </param>
4576         </member>
4577         <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.Instance">
4578             <summary>
4579             The Singleton instance of the SqlProviderServices type.
4580             </summary>
4581         </member>
4582         <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.TruncateDecimalsToScale">
4583             <summary>
4584             Set this flag to false to prevent <see cref="T:System.Decimal"/> values from being truncated to
4585             the scale (number of decimal places) defined for the column. The default value is true,
4586             indicating that decimal values will be truncated, in order to prevent breaking existing
4587             applications that depend on this behavior.
4588             </summary>
4589             <remarks>
4590             With this flag set to true <see cref="T:System.Data.SqlClient.SqlParameter"/> objects are created with their Scale
4591             properties set. When this flag is set to false then the Scale properties are not set, meaning
4592             that the truncation behavior of SqlParameter is avoided.
4593             </remarks>
4594         </member>
4595         <member name="M:System.Data.Entity.SqlServer.SqlProviderUtilities.GetRequiredSqlConnection(System.Data.Common.DbConnection)">
4596             <summary>
4597             Requires that the given connection is of type  T.
4598             Returns the connection or throws.
4599             </summary>
4600         </member>
4601         <member name="T:System.Data.Entity.SqlServer.SqlSpatialDataReader">
4602             <summary>
4603             SqlClient specific implementation of <see cref="T:System.Data.Entity.Spatial.DbSpatialDataReader"/>
4604             </summary>
4605         </member>
4606         <member name="M:System.Data.Entity.SqlServer.SqlSpatialDataReader.GetGeography(System.Int32)">
4607             <inheritdoc/>
4608         </member>
4609         <member name="M:System.Data.Entity.SqlServer.SqlSpatialDataReader.GetGeometry(System.Int32)">
4610             <inheritdoc/>
4611         </member>
4612         <member name="M:System.Data.Entity.SqlServer.SqlSpatialDataReader.IsGeographyColumn(System.Int32)">
4613             <inheritdoc/>
4614         </member>
4615         <member name="M:System.Data.Entity.SqlServer.SqlSpatialDataReader.IsGeometryColumn(System.Int32)">
4616             <inheritdoc/>
4617         </member>
4618         <member name="M:System.Data.Entity.SqlServer.SqlSpatialDataReader.CreateBinaryReadDelegate(System.Type)">
4619             <summary>
4620             Builds and compiles the Expression equivalent of the following:
4621             (BinaryReader r) => { var result = new SpatialType(); result.Read(r); return r; }
4622             The construct/read pattern is preferred over casting the result of calling GetValue on the DataReader,
4623             because constructing the value directly allows client code to specify the type, rather than SqlClient using
4624             the server-specified assembly qualified type name from TDS to try to locate the correct type on the client.
4625             </summary>
4626         </member>
4627         <member name="P:System.Data.Entity.SqlServer.SqlSpatialServices.NativeTypesAvailable">
4628             <inheritdoc />
4629         </member>
4630         <member name="T:System.Data.Entity.SqlServer.SqlTypesAssembly">
4631             <summary>
4632             SqlTypesAssembly allows for late binding to the capabilities of a specific version of the Microsoft.SqlServer.Types assembly
4633             </summary>
4634         </member>
4635         <member name="M:System.Data.Entity.SqlServer.SqlTypesAssembly.#ctor">
4636             <summary>
4637             For testing.
4638             </summary>
4639         </member>
4640         <member name="T:System.Data.Entity.SqlServer.SqlVersion">
4641             <summary>
4642             This enumeration describes the current SQL Server version.
4643             </summary>
4644         </member>
4645         <member name="F:System.Data.Entity.SqlServer.SqlVersion.Sql8">
4646             <summary>
4647             SQL Server 8 (2000).
4648             </summary>
4649         </member>
4650         <member name="F:System.Data.Entity.SqlServer.SqlVersion.Sql9">
4651             <summary>
4652             SQL Server 9 (2005).
4653             </summary>
4654         </member>
4655         <member name="F:System.Data.Entity.SqlServer.SqlVersion.Sql10">
4656             <summary>
4657             SQL Server 10 (2008).
4658             </summary>
4659         </member>
4660         <member name="F:System.Data.Entity.SqlServer.SqlVersion.Sql11">
4661             <summary>
4662             SQL Server 11 (2012).
4663             </summary>
4664         </member>
4665     </members>
4666 </doc>