diff --git a/DC/CD_DB.cd b/DC/CD_DB.cd new file mode 100644 index 0000000..befcff6 --- /dev/null +++ b/DC/CD_DB.cd @@ -0,0 +1,242 @@ + + + + + + AAEAACAIAQAAEAAAAAAAAACAMgAAVAACAAAAAAAAAAA= + DB\MainDB.cs + + + + + + AAACAAAAAAQABAgAAAAAIAQACAAAAAAAAAAAAIAAAAA= + DB\MainDB.cs + + + + + + AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AAACABAAAAgAEgAQAAQAAAAAIgAAAgAAgAAAAAQAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + AAgCAAAAAAAAIAARAAAAAgQAIAAAAAAhAAAAAAQAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + AAACAAAAAAAAgQAAAAAgAAAABAAAAAAAIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + AAACAAAIACAAAAAAAAAAAAQAAAgAAAAAAAAAIAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + AAACAAAAAAEAAAAAAAAAAAQAIgAAAAABgAAEAABAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + AAACAAAAAAEAAAQAAAAAAAAAIAAAAAAAAAAUCABAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + AAACAAgAAAEAAAAAEAAAAAAAAAAAAAACAAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + + AAACABAMAAAAAQAAAAAgAAAABAAAAAAAoAAAAEAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + AAACAAAAAAAAAQAAAAAAAAAAAAAAAAEAIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + AAACAAgAAAAAAQAAAAAAAAAAAAAAAAACIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + \ No newline at end of file diff --git a/DC/CD_M_1.cd b/DC/CD_M_1.cd new file mode 100644 index 0000000..f05f3f3 --- /dev/null +++ b/DC/CD_M_1.cd @@ -0,0 +1,61 @@ + + + + + + AAACAAAAAAQABAgAAAAAIAQACAAAAAAAAAAAAIAAAAA= + DB\MainDB.cs + + + + + + AAAAAAAwASAAAhAAAISAACACAAAAAAAAAAACABAAAAA= + LoginForm.cs + + + + + + AAAAAAAAACAAAAAAAACAAAACAMA7AAAAACAGAAAAAAA= + MainForm.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAQA= + Program.cs + + + + + + + + + AEAAAAAwACAAAFAAAASgAARCAAAEAAAQAGACAAAAAAE= + StatForm.cs + + + + + + + + + + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAYAgAAAQA= + User.cs + + + + + + + \ No newline at end of file diff --git a/DC/CD_M_2.cd b/DC/CD_M_2.cd new file mode 100644 index 0000000..f753aaa --- /dev/null +++ b/DC/CD_M_2.cd @@ -0,0 +1,25 @@ + + + + + + FEhgmBAwACABQXpEBByBEqRCQAQmgIUQRWECEQAARAk= + DocForm.cs + + + + + + PkLguBAwBeABRfIEpBSnGqRCwiEmQAVwxGECURgByKk= + DogForm.cs + + + + + + +0BEiAA+ACACAFIAABSAAgRCVgACgwcQJGACBRAAQkE= + SetForm.cs + + + + \ No newline at end of file diff --git a/DC/CD_M_3.cd b/DC/CD_M_3.cd new file mode 100644 index 0000000..a1b595f --- /dev/null +++ b/DC/CD_M_3.cd @@ -0,0 +1,25 @@ + + + + + + gAgrBQAkEkolDBINYSsgAQAEiAQIEA1gmBgisQCQhgA= + DB\WorkDB.cs + + + + + + NEhQiIAgACAAAXpEJByBEqRCQAQCAIUQRWACERAARIk= + IzvForm.cs + + + + + + EEBACBAgASABAVIAJBSHAqRCwCgiAAUQJGICAQECQAE= + PostForm.cs + + + + \ No newline at end of file diff --git a/DC/CD_M_4.cd b/DC/CD_M_4.cd new file mode 100644 index 0000000..05d6abf --- /dev/null +++ b/DC/CD_M_4.cd @@ -0,0 +1,18 @@ + + + + + + EEBACAAwACAAAVYABBSBIpRCQAACgiQQJGACAQQAwME= + IzdForm.cs + + + + + + EEBACAAwACAQEXIABBSBCqRCQAACAAUQBGACAQAAQAE= + ZakForm.cs + + + + \ No newline at end of file diff --git a/DC/ClassDiagram2.cd b/DC/ClassDiagram2.cd new file mode 100644 index 0000000..73da649 --- /dev/null +++ b/DC/ClassDiagram2.cd @@ -0,0 +1,435 @@ + + + + + + AAACAAAAAAQABAgAAAAAIAQACAAAAAAAAAAAAIAAAAA= + DB\MainDB.cs + + + + + + AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + AAACABAAAAgAEgAQAAQAAAAAIgAAAgAAgAAAAAQAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + AAgCAAAAAAAAIAARAAAAAgQAIAAAAAAhAAAAAAQAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + + + + + + + AAACAAAAAAAAgQAAAAAgAAAABAAAAAAAIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + AAACAAAIACAAAAAAAAAAAAQAAAgAAAAAAAAAIAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + AAACAAAAAAEAAAAAAAAAAAQAIgAAAAABgAAEAABAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + AAACAAAAAAEAAAQAAAAAAAAAIAAAAAAAAAAUCABAAAA= + DB\MainDB.cs + + + + + + + + + AAACAAgAAAEAAAAAEAAAAAAAAAAAAAACAAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + AAACABAMAAAAAQAAAAAgAAAABAAAAAAAoAAAAEAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + AAACAAAAAAAAAQAAAAAAAAAAAAAAAAEAIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + AAACAAgAAAAAAQAAAAAAAAAAAAAAAAACIAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + gAgrBQAkEkolDBINYSsgAQAEiAQIEA1gmBgisQCQhgA= + DB\WorkDB.cs + + + + + + FEhgmBAwACABQXpEBByBEqRCQAQmgIUQRWECEQAARAk= + DocForm.cs + + + + + + PkLguBAwBeABRfIEpBSnGqRCwiEmQAVwxGECURgByKk= + DogForm.cs + + + + + + EEBACAAwACAAAVYABBSBIpRCQAACgiQQJGACAQQAwME= + IzdForm.cs + + + + + + NEhQiIAgACAAAXpEJByBEqRCQAQCAIUQRWACERAARIk= + IzvForm.cs + + + + + + AAAAAAAwASAAAhAAAISAACACAAAAAAAAAAACABAAAAA= + LoginForm.cs + + + + + + AAAAAAAAACAAAAAAAACAAAACAMA7AAAAACAGAAAAAAA= + MainForm.cs + + + + + + EEBACBAgASABAVIAJBSHAqRCwCgiAAUQJGICAQECQAE= + PostForm.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAQA= + Program.cs + + + + + + + + + +0BEiAA+ACACAFIAABSAAgRCVgACgwcQJGACBRAAQkE= + SetForm.cs + + + + + + AEAAAAAwACAAAFAAAASgAARCAAAEAAAQAGACAAAAAAE= + StatForm.cs + + + + + + + + + + + + + + + + + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAYAgAAAQA= + User.cs + + + + + + + + + EEBACAAwACAQEXIABBSBCqRCQAACAAUQBGACAQAAQAE= + ZakForm.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AAEAACAIAQAAEAAAAAAAAACAMgAAVAACAAAAAAAAAAA= + DB\MainDB.cs + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Diplom B.csproj b/Diplom B.csproj index 4084884..6b074f5 100644 --- a/Diplom B.csproj +++ b/Diplom B.csproj @@ -368,6 +368,12 @@ True Resources.resx + + + + + + SettingsSingleFileGenerator diff --git a/DocForm.cs b/DocForm.cs index d5c0dda..1a9abf6 100644 --- a/DocForm.cs +++ b/DocForm.cs @@ -27,8 +27,10 @@ namespace Diplom_B var fd = errDrop.Id; Task.Delay(5000).Wait(); if (errDrop.Id == fd) - if (InvokeRequired) Invoke((Action)(() => { errorLabel.Visible = false; })); - else errorLabel.Visible = false; + if (InvokeRequired) + Invoke((Action)(() => { errorLabel.Visible = false; })); + else + errorLabel.Visible = false; }); errDrop.Start(); } diff --git a/bin/Release/Diplom B.application b/bin/Release/Diplom B.application new file mode 100644 index 0000000..bca1404 --- /dev/null +++ b/bin/Release/Diplom B.application @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + W7NfNoKhFADLlqBU8et78r7KdR2w4NspC8L0jqflFts= + + + + \ No newline at end of file diff --git a/bin/Release/Diplom B.exe b/bin/Release/Diplom B.exe new file mode 100644 index 0000000..373310f Binary files /dev/null and b/bin/Release/Diplom B.exe differ diff --git a/bin/Release/Diplom B.exe.config b/bin/Release/Diplom B.exe.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/bin/Release/Diplom B.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bin/Release/Diplom B.exe.manifest b/bin/Release/Diplom B.exe.manifest new file mode 100644 index 0000000..93625fc --- /dev/null +++ b/bin/Release/Diplom B.exe.manifest @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PhV4ijsbgTqwZdbFPIS2UWeCcYat21P/vJ/NHQW9trg= + + + + + + + + + + + + NbH55b2iv2DMS6kjNzvR7dSrOGWqQUrU47npsluJZmQ= + + + + + + + + + + + + zt4G1TcFhn3xwqVVgeRKNuvSDTXihcfVfbDL03zn2+I= + + + + + + + + + + + + FnJ3UxXohLiSIeBPF6l9IR4UFDPbSsrPblqjTEmnZAA= + + + + + + + + + + + + OHyLB82aaXIqpWDYmmw72cfU/WSp9HV+nPZET1grMhQ= + + + + + + + + + + + + yLDtoxyEow2MPsy493yRvyuhhuKKpiUe1sVGJ5RYUgo= + + + + + + + + + + + + hKM7uUGpmxM1cS4caUPQLCmMFFns7P6TdrKBfR75GC4= + + + + + + + + + + + + EMk5YJNmzJxl6havefvF3TXYn/YImCHGlI3c1fqBpPM= + + + + + + + + + + + + ZWf7AZB+1uiXNhHorht9zlnYz4iK3pCcKZV58F3FIGc= + + + + + + + + + + + + rF525DqztrzKLqGjQ59E5nDllPWYKacwx7TNuXPpIYQ= + + + + + + + + + + + + MxVDd3tVqduiDlNKTMG4c72T1X/RKozVwNWmdMGBZWo= + + + + + + + + + + + + ljvFAFGG5dFo5S5+rWLHtTAcv6Mcx8YC2lo8sUbrJ/A= + + + + + + + + + + + + L6SX5wIYpcLNXSB0PzYeZeQMx9s1gzatUczSrFLY6X8= + + + + + + + + + + + + RcJ917b1kyHaLle4b7HJ9TnAgN497nI5XtguLBnAMg8= + + + + + + + + + + + + z1pWUM0r5+wXvIp8EdSn3ntQmQ7IRnX+WfEFu5KipfM= + + + + + + + + + + + + e8SeWV49VhHGKgQPxr5RKceOjbAqeeMKAmGIPSw8BqM= + + + + + + + + + + + + NPlUmewZSn+Cv6Hh1JYgSHBSBL0ibs9qzOBE05sdbO8= + + + + + + + + + + + + maRkT0/hR/PYvefftCw+3Y8oNxkm8HnY3xhl11kwoEA= + + + + + + + + + + + + DrlvSBaewXYyVEBXNgPUgZLyjdqxs6FlwEgLHSOgPeM= + + + + + + + + + + + + XLdU4oREJRavBdAaO1fyK3GQHeDqOWuSBk/8anC2WfI= + + + + + + + + + + R+Wg8QGvQVHX8T0ta/qbhH1bXkqY0fRnS3wBV3J0bN8= + + + + + + + + + zdbEB7YTcSgOScmis0r07AawGRmT5u3o77kjWZCDeXc= + + + + + + + + + bersL5bIocIGmKk93UaNVEe1WsQm3Dge712RsZlTu3s= + + + \ No newline at end of file diff --git a/bin/Release/Diplom B.pdb b/bin/Release/Diplom B.pdb new file mode 100644 index 0000000..6fba3c6 Binary files /dev/null and b/bin/Release/Diplom B.pdb differ diff --git a/bin/Release/Diplom_B.db b/bin/Release/Diplom_B.db new file mode 100644 index 0000000..477d70b Binary files /dev/null and b/bin/Release/Diplom_B.db differ diff --git a/bin/Release/Microsoft.Data.Sqlite.dll b/bin/Release/Microsoft.Data.Sqlite.dll new file mode 100644 index 0000000..2a5f803 Binary files /dev/null and b/bin/Release/Microsoft.Data.Sqlite.dll differ diff --git a/bin/Release/Microsoft.Data.Sqlite.xml b/bin/Release/Microsoft.Data.Sqlite.xml new file mode 100644 index 0000000..c8216d5 --- /dev/null +++ b/bin/Release/Microsoft.Data.Sqlite.xml @@ -0,0 +1,1401 @@ + + + + Microsoft.Data.Sqlite + + + + + Represents the caching modes that can be used when creating a new . + + SQLite Shared-Cache Mode + + + + Default mode. + + + + + Private-cache mode. Each connection uses a private cache. + + + + + Shared-cache mode. Connections share a cache. This mode can change the behavior of transaction and table + locking. + + + + + Represents a SQL statement to be executed against a SQLite database. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The SQL to execute against the database. + + + + Initializes a new instance of the class. + + The SQL to execute against the database. + The connection used by the command. + + + + Initializes a new instance of the class. + + The SQL to execute against the database. + The connection used by the command. + The transaction within which the command executes. + + + + Gets or sets a value indicating how is interpreted. Only + is supported. + + A value indicating how is interpreted. + + + + Gets or sets the SQL to execute against the database. + + The SQL to execute against the database. + + + + Gets or sets the connection used by the command. + + The connection used by the command. + + + + Gets or sets the connection used by the command. Must be a . + + The connection used by the command. + + + + Gets or sets the transaction within which the command executes. + + The transaction within which the command executes. + + + + Gets or sets the transaction within which the command executes. Must be a . + + The transaction within which the command executes. + + + + Gets the collection of parameters used by the command. + + The collection of parameters used by the command. + + + + Gets the collection of parameters used by the command. + + The collection of parameters used by the command. + + + + Gets or sets the wait time before terminating the attempt to execute the command. + + The wait time before terminating the attempt to execute the command. + + The timeout is used when the command is waiting to obtain a lock on the table. + + + + + Gets or sets a value indicating whether the command should be visible in an interface control. + + A value indicating whether the command should be visible in an interface control. + + + + Gets or sets a value indicating how the results are applied to the row being updated. + + A value indicating how the results are applied to the row being updated. + + + + Creates a new parameter. + + The new parameter. + + + + Creates a new parameter. + + The new parameter. + + + + Creates a prepared version of the command on the database. This has no effect. + + + + + Executes the against the database and returns a data reader. + + The data reader. + A SQLite error occurs during execution. + + + + Executes the against the database and returns a data reader. + + + A description of the results of the query and its effect on the database. + Only , , + , , and + are supported. + + The data reader. + A SQLite error occurs during execution. + + + + Executes the against the database and returns a data reader. + + A description of query's results and its effect on the database. + The data reader. + + + + Executes the asynchronously against the database and returns a data reader. + + A task representing the asynchronous operation. + + SQLite does not support asynchronous execution. Use write-ahead logging instead. + + Write-Ahead Logging + + + + Executes the asynchronously against the database and returns a data reader. + + The token to monitor for cancellation requests. + A task representing the asynchronous operation. + + SQLite does not support asynchronous execution. Use write-ahead logging instead. + + Write-Ahead Logging + + + + Executes the asynchronously against the database and returns a data reader. + + A description of query's results and its effect on the database. + A task representing the asynchronous operation. + + SQLite does not support asynchronous execution. Use write-ahead logging instead. + + Write-Ahead Logging + + + + Executes the asynchronously against the database and returns a data reader. + + A description of query's results and its effect on the database. + The token to monitor for cancellation requests. + A task representing the asynchronous operation. + + SQLite does not support asynchronous execution. Use write-ahead logging instead. + + Write-Ahead Logging + + + + Executes the asynchronously against the database and returns a data reader. + + A description of query's results and its effect on the database. + The token to monitor for cancellation requests. + A task representing the asynchronous operation. + + + + Executes the against the database. + + The number of rows inserted, updated, or deleted. -1 for SELECT statements. + A SQLite error occurs during execution. + + + + Executes the against the database and returns the result. + + The first column of the first row of the results, or null if no results. + A SQLite error occurs during execution. + + + + Attempts to cancel the execution of the command. Does nothing. + + + + + Represents a connection to a SQLite database. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The string used to open the connection. + + + + + Gets a handle to underlying database connection. + + A handle to underlying database connection. + Database Connection Handle + + + + Gets or sets a string used to open the connection. + + A string used to open the connection. + + + + + Gets the name of the current database. Always 'main'. + + The name of the current database. + + + + Gets the path to the database file. Will be absolute for open connections. + + The path to the database file. + + + + Gets the version of SQLite used by the connection. + + The version of SQLite used by the connection. + + + + Gets the current state of the connection. + + The current state of the connection. + + + + Gets or sets the transaction currently being used by the connection, or null if none. + + The transaction currently being used by the connection. + + + + Opens a connection to the database using the value of . + + A SQLite error occurs while opening the connection. + + + + Closes the connection to the database. Open transactions are rolled back. + + + + + Releases any resources used by the connection and closes it. + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Creates a new command associated with the connection. + + The new command. + + The command's property will also be set to the current + transaction. + + + + + Creates a new command associated with the connection. + + The new command. + + + + Begins a transaction on the connection. + + The transaction. + + + + Begins a transaction on the connection. + + The isolation level of the transaction. + The transaction. + + + + Begins a transaction on the connection. + + + The isolation level of the transaction. + Only and are + supported. + + The transaction. + + + + Changes the current database. Not supported. + + The name of the database to use. + Always. + + + + Enables extension loading on the connection. + + true to enable; false to disable + Run-Time Loadable Extensions + + + + Provides a simple way to create and manage the contents of connection strings used by + . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + The initial connection string the builder will represent. Can be null. + + + + + Gets or sets the database file. + + The database file. + + + + Gets or sets the connection mode. + + The connection mode. + + + + Gets a collection containing the keys used by the connection string. + + A collection containing the keys used by the connection string. + + + + Gets a collection containing the values used by the connection string. + + A collection containing the values used by the connection string. + + + + Gets or sets the caching mode used by the connection. + + The caching mode used by the connection. + SQLite Shared-Cache Mode + + + + Gets or sets the value associated with the specified key. + + The key. + The value. + + + + Clears the contents of the builder. + + + + + Determines whether the specified key is used by the connection string. + + The key to look for. + true if it is use; otherwise, false. + + + + Removes the specified key and its value from the connection string. + + The key to remove. + true if the key was used; otherwise, false. + + + + Determines whether the specified key should be serialized into the connection string. + + The key to check. + true if it should be serialized; otherwise, false. + + + + Gets the value of the specified key if it is used. + + The key. + The value. + true if the key was used; otherwise, false. + + + + Provides methods for reading the result of a command executed against a SQLite database. + + + + + Gets the depth of nesting for the current row. Always zero. + + The depth of nesting for the current row. + + + + Gets the number of columns in the current row. + + The number of columns in the current row. + + + + Gets a handle to underlying prepared statement. + + A handle to underlying prepared statement. + Prepared Statement Object + + + + Gets a value indicating whether the data reader contains any rows. + + A value indicating whether the data reader contains any rows. + + + + Gets a value indicating whether the data reader is closed. + + A value indicating whether the data reader is closed. + + + + Gets the number of rows inserted, updated, or deleted. -1 for SELECT statements. + + The number of rows inserted, updated, or deleted. + + + + Gets the value of the specified column. + + The name of the column. The value is case-sensitive. + The value. + + + + Gets the value of the specified column. + + The zero-based column ordinal. + The value. + + + + Gets an enumerator that can be used to iterate through the rows in the data reader. + + The enumerator. + + + + Advances to the next row in the result set. + + true if there are more rows; otherwise, false. + + + + Advances to the next result set for batched statements. + + true if there are more result sets; otherwise, false. + + + + Closes the data reader. + + + + + Returns a data table that describes the column metadata. + + The data table. + + + + Releases any resources used by the data reader and closes it. + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Gets the name of the specified column. + + The zero-based column ordinal. + The name of the column. + + + + Gets the ordinal of the specified column. + + The name of the column. + The zero-based column ordinal. + + + + Gets the declared data type name of the specified column. The storage class is returned for computed + columns. + + The zero-based column ordinal. + The data type name of the column. + Due to SQLite's dynamic type system, this may not reflect the actual type of the value. + Datatypes In SQLite Version 3 + + + + Gets the data type of the specified column. + + The zero-based column ordinal. + The data type of the column. + + + + Gets a value indicating whether the specified column is . + + The zero-based column ordinal. + true if the specified column is ; otherwise, false. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column as a . + + The zero-based column ordinal. + The value of the column. + + + + Reads a stream of bytes from the specified column. Not supported. + + The zero-based column ordinal. + The index from which to begin the read operation. + The buffer into which the data is copied. + The index to which the data will be copied. + The maximum number of bytes to read. + The actual number of bytes read. + + + + Reads a stream of characters from the specified column. Not supported. + + The zero-based column ordinal. + The index from which to begin the read operation. + The buffer into which the data is copied. + The index to which the data will be copied. + The maximum number of characters to read. + The actual number of characters read. + + + + Gets the value of the specified column. + + The type of the value. + The zero-based column ordinal. + The value of the column. + + + + Gets the value of the specified column. + + The zero-based column ordinal. + The value of the column. + + + + Gets the column values of the current row. + + An array into which the values are copied. + The number of values copied into the array. + + + + Represents a SQLite error. + + + + + Initializes a new instance of the class. + + The message to display for the exception. Can be null. + The SQLite error code. + + + + Gets the SQLite error code. + + The SQLite error code. + SQLite Result Codes + + + + Creates instances of various Microsoft.Data.Sqlite classes. + + + + + The singleton instance. + + + + + Creates a new command. + + The new command. + + + + Creates a new connection. + + The new connection. + + + + Creates a new connection string builder. + + The new connection string builder. + + + + Creates a new parameter. + + The new parameter. + + + + Represents the connection modes that can be used when opening a connection. + + + + + Opens the database for reading and writing, and creates it if it doesn't exist. + + + + + Opens the database for reading and writing. + + + + + Opens the database in read-only mode. + + + + + Opens an in-memory database. + + + + + Represents a parameter and its value in a . + + Due to SQLite's dynamic type system, parameter values are not converted. + Datatypes In SQLite Version 3 + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the parameter. + The value of the parameter. Can be null. + + + + Initializes a new instance of the class. + + The name of the parameter. + The type of the parameter. + + + + Initializes a new instance of the class. + + The name of the parameter. + The type of the parameter. + The maximum size, in bytes, of the parameter. + + + + Initializes a new instance of the class. + + The name of the parameter. + The type of the parameter. + The maximum size, in bytes, of the parameter. + The source column used for loading the value. Can be null. + + + + Gets or sets the type of the parameter. + + The type of the parameter. + Due to SQLite's dynamic type system, parameter values are not converted. + Datatypes In SQLite Version 3 + + + + Gets or sets the SQLite type of the parameter. + + The SQLite type of the parameter. + Due to SQLite's dynamic type system, parameter values are not converted. + Datatypes In SQLite Version 3 + + + + Gets or sets the direction of the parameter. Only is supported. + + The direction of the parameter. + + + + Gets or sets a value indicating whether the parameter is nullable. + + A value indicating whether the parameter is nullable. + + + + Gets or sets the name of the parameter. + + The name of the parameter. + + + + Gets or sets the maximum size, in bytes, of the parameter. + + The maximum size, in bytes, of the parameter. + + + + Gets or sets the source column used for loading the value. + + The source column used for loading the value. + + + + Gets or sets a value indicating whether the source column is nullable. + + A value indicating whether the source column is nullable. + + + + Gets or sets the version to use when loading the value. + + The version to use when loading the value. + + + + Gets or sets the value of the parameter. + + The value of the parameter. + Due to SQLite's dynamic type system, parameter values are not converted. + Datatypes In SQLite Version 3 + + + + Resets the property to its original value. + + + + + Resets the property to its original value. + + + + + Represents a collection of SQLite parameters. + + + + + Initializes a new instance of the class. + + + + + Gets the number of items in the collection. + + The number of items in the collection. + + + + Gets the object used to synchronize access to the collection. + + The object used to synchronize access to the collection. + + + + Gets a value indicating whether the collection is a fixed size. + + A value indicating whether the collection is a fixed size. + + + + Gets a value indicating whether the collection is read-only. + + A value indicating whether the collection is read-only. + + + + Gets a value indicating whether the collection is synchronized. + + A value indicating whether the collection is synchronized. + + + + Gets or sets the parameter at the specified index. + + The zero-based index of the parameter. + The parameter. + + + + Gets or sets the parameter with the specified name. + + The name of the parameter. + The parameter. + + + + Adds a parameter to the collection. + + The parameter to add. Must be a . + The zero-based index of the parameter that was added. + + + + Adds a parameter to the collection. + + The parameter to add. + The parameter that was added. + + + + Adds a parameter to the collection. + + The name of the parameter. + The SQLite type of the parameter. + The parameter that was added. + + + + Adds a parameter to the collection. + + The name of the parameter. + The SQLite type of the parameter. + The maximum size, in bytes, of the parameter. + The parameter that was added. + + + + Adds a parameter to the collection. + + The name of the parameter. + The SQLite type of the parameter. + The maximum size, in bytes, of the parameter. + + The source column used for loading the value of the parameter. Can be null. + + The parameter that was added. + + + + Adds multiple parameters to the collection. + + + An array of parameters to add. They must be objects. + + + + + Adds multiple parameters to the collection. + + The parameters to add. + + + + Adds a parameter to the collection. + + The name of the parameter. + The value of the parameter. Can be null. + The parameter that was added. + + + + Removes all parameters from the collection. + + + + + Gets a value indicating whether the collection contains the specified parameter. + + The parameter to look for. Must be a . + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether the collection contains the specified parameter. + + The parameter to look for. + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether the collection contains a parameter with the specified name. + + The name of the parameter. + true if the collection contains the parameter; otherwise, false. + + + + Copies the collection to an array of parameters. + + + The array into which the parameters are copied. Must be an array of objects. + + The zero-based index to which the parameters are copied. + + + + Copies the collection to an array of parameters. + + The array into which the parameters are copied. + The zero-based index to which the parameters are copied. + + + + Gets an enumerator that iterates through the collection. + + The enumerator. + + + + Gets a parameter at the specified index. + + The zero-based index of the parameter. + The parameter. + + + + Gets a parameter with the specified name. + + The name of the parameter. + The parameter. + + + + Gets the index of the specified parameter. + + The parameter. Must be a . + The zero-based index of the parameter. + + + + Gets the index of the specified parameter. + + The parameter. + The zero-based index of the parameter. + + + + Gets the index of the parameter with the specified name. + + The name of the parameter. + The zero-based index of the parameter or -1 if not found. + + + + Inserts a parameter into the collection at the specified index. + + The zero-based index at which the parameter should be inserted. + The parameter to insert. Must be a . + + + + Inserts a parameter into the collection at the specified index. + + The zero-based index at which the parameter should be inserted. + The parameter to insert. + + + + Removes a parameter from the collection. + + The parameter to remove. Must be a . + + + + Removes a parameter from the collection. + + The parameter to remove. + + + + Removes a parameter from the collection at the specified index. + + The zero-based index of the parameter to remove. + + + + Removes a parameter with the specified name from the collection. + + The name of the parameter to remove. + + + + Sets the parameter at the specified index. + + The zero-based index of the parameter to set. + The parameter. Must be a . + + + + Sets the parameter with the specified name. + + The name of the parameter to set. + The parameter. Must be a . + + + + Represents a transaction made against a SQLite database. + + + + + Gets the connection associated with the transaction. + + The connection associated with the transaction. + + + + Gets the connection associated with the transaction. + + The connection associated with the transaction. + + + + Gets the isolation level for the transaction. This cannot be changed if the transaction is completed or + closed. + + The isolation level for the transaction. + + + + Applies the changes made in the transaction. + + + + + Reverts the changes made in the transaction. + + + + + Releases any resources used by the transaction and rolls it back. + + + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + + Represents the type affinities used by columns in SQLite tables. + + Datatypes In SQLite Version 3 + + + + A signed integer. + + + + + A floating point value. + + + + + A text string. + + + + + A blob of data. + + + + + Enables configuration of global SQLite settings. This API may change or be removed in future releases. + + + + + Configures Microsoft.Data.Sqlite to use winsqlite3.dll. This is a version of SQLite that ships in Windows + 10. This method must be called before any other interaction with SQLite. This API may change or be removed + in future releases. + + + + + {methodName} can only be called when the connection is open. + + + + + CommandText must be set before {methodName} can be called. + + + + + ConnectionString cannot be set when the connection is open. + + + + + Invalid attempt to call {operation} when reader is closed. + + + + + The cache mode '{mode}' is invalid. + + + + + The CommandBehavior '{behavior}' is invalid. + + + + + The CommandType '{commandType}' is invalid. + + + + + The IsolationLevel '{isolationLevel}' is invalid. + + + + + The IsolationLevel '{isolationLevel}' can only be used with a shared cache. Set 'Cache=Shared' in the connection string. + + + + + The ParameterDirection '{direction}' is invalid. + + + + + Keyword not supported: '{keyword}'. + + + + + Must add values for the following parameters: {parameters} + + + + + No data exists for the row/column. + + + + + ConnectionString must be set before Open can be called. + + + + + SqliteConnection does not support nested transactions. + + + + + A SqliteParameter with ParameterName '{parameterName}' is not contained by this SqliteParameterCollection. + + + + + {propertyName} must be set. + + + + + This SqliteTransaction has completed; it is no longer usable. + + + + + The transaction object is not associated with the connection object. + + + + + Execute requires the command to have a transaction object when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized. + + + + + No mapping exists from object type {typeName} to a known managed provider native type. + + + + + SQLite Error {errorCode}: '{message}'. + + + + + For more information on this error code see http://sqlite.org/rescode.html + + + + + Cannot bind the value for parameter '{parameterName}' because multiple matching parameters were found in the command text. Specify the parameter name with the symbol prefix, e.g. '@{parameterName}'. + + + + + The SQLite library is already loaded. UseWinSqlite3 must be called before using SQLite. + + + + + The {enumType} enumeration value, {value}, is invalid. + + + + + Cannot convert object of type '{sourceType}' to object of type '{targetType}'. + + + + + Cannot store 'NaN' values. + + + + diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.dll b/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.dll new file mode 100644 index 0000000..3df4532 Binary files /dev/null and b/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.dll differ diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.xml b/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.xml new file mode 100644 index 0000000..1b94406 --- /dev/null +++ b/bin/Release/Microsoft.EntityFrameworkCore.Relational.Design.xml @@ -0,0 +1,441 @@ + + + + Microsoft.EntityFrameworkCore.Relational.Design + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Could not find type mapping for column '{columnName}' with data type '{dateType}'. Skipping column. + + + + + Could not scaffold the foreign key '{foreignKeyName}'. A key for '{columnsList}' was not found in the principal entity type '{principalEntityType}'. + + + + + Could not scaffold the foreign key '{foreignKeyName}'. The referenced table could not be found. This most likely occurred because the referenced table was excluded from scaffolding. + + + + + Could not scaffold the foreign key '{foreignKeyName}'. The referenced table '{principalTableName}' could not be scaffolded. + + + + + Could not scaffold the foreign key '{foreignKeyName}'. The following columns in the foreign key could not be scaffolded: {columnNames}. + + + + + Could not scaffold the primary key for '{tableName}'. The following columns in the primary key could not be scaffolded: {columnNames}. + + + + + Unable to identify the primary key for table '{tableName}'. + + + + + Metadata model returned should not be null. Provider: {providerTypeName}. + + + + + No files generated in directory {outputDirectoryName}. The following file(s) already exist and must be made writeable to continue: {readOnlyFiles}. + + + + + Unable to generate entity type for table '{tableName}'. + + + + + Unable to scaffold the index '{indexName}'. The following columns could not be scaffolded: {columnNames}. + + + + + Cannot scaffold the connection string. The "UseProviderMethodName" is missing from the scaffolding model. + + + + + The following file(s) already exist in directory {outputDirectoryName}: {existingFiles}. Use the Force flag to overwrite these files. + + + + + Sequence name cannot be null or empty. Entity Framework cannot model a sequence that does not have a name. + + + + + For sequence '{sequenceName}'. Unable to scaffold because it uses an unsupported type: '{typeName}'. + + + + + Unable to find a schema in the database matching the selected schema {schema}. + + + + + Unable to find a table in the database matching the selected table {table}. + + + + diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Relational.dll b/bin/Release/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..1744cd8 Binary files /dev/null and b/bin/Release/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Relational.xml b/bin/Release/Microsoft.EntityFrameworkCore.Relational.xml new file mode 100644 index 0000000..ffdb3b4 --- /dev/null +++ b/bin/Release/Microsoft.EntityFrameworkCore.Relational.xml @@ -0,0 +1,11135 @@ + + + + Microsoft.EntityFrameworkCore.Relational + + + + + + Applies any pending migrations for the context to the database. Will create the database + if it does not already exist. + + + Note that this API is mutually exclusive with DbContext.Database.EnsureCreated(). EnsureCreated does not use migrations + to create the database and therefore the database that is created cannot be later updated using migrations. + + + The for the context. + + + + Gets all the migrations that are defined in the configured migrations assembly. + + The for the context. + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The for the context. + The list of migrations. + + + + Asynchronously gets all migrations that have been applied to the target database. + + The for the context. + A to observe while waiting for the task to complete. + A task that represents the asynchronous operation. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The for the context. + The list of migrations. + + + + Asynchronously gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The for the context. + A to observe while waiting for the task to complete. + A task that represents the asynchronous operation. + + + + + Asynchronously applies any pending migrations for the context to the database. Will create the database + if it does not already exist. + + + Note that this API is mutually exclusive with DbContext.Database.EnsureCreated(). EnsureCreated does not use migrations + to create the database and therefore the database that is created cannot be later updated using migrations. + + + The for the context. + A to observe while waiting for the task to complete. + A task that represents the asynchronous migration operation. + + + + Relational database specific extension methods for . + + + + + Configures the table that the entity maps to when targeting a relational database. + + The builder for the entity type being configured. + The name of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the table that the entity maps to when targeting a relational database. + + The entity type being configured. + The builder for the entity type being configured. + The name of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the table that the entity maps to when targeting a relational database. + + The builder for the entity type being configured. + The name of the table. + The schema of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the table that the entity maps to when targeting a relational database. + + The entity type being configured. + The builder for the entity type being configured. + The name of the table. + The schema of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the discriminator column used to identify which entity type each row in a table represents + when an inheritance hierarchy is mapped to a single table in a relational database. + + The builder for the entity type being configured. + A builder that allows the discriminator column to be configured. + + + + Configures the discriminator column used to identify which entity type each row in a table represents + when an inheritance hierarchy is mapped to a single table in a relational database. + + The builder for the entity type being configured. + The name of the discriminator column. + The type of values stored in the discriminator column. + A builder that allows the discriminator column to be configured. + + + + Configures the discriminator column used to identify which entity type each row in a table represents + when an inheritance hierarchy is mapped to a single table in a relational database. + + The type of values stored in the discriminator column. + The builder for the entity type being configured. + The name of the discriminator column. + A builder that allows the discriminator column to be configured. + + + + Configures the discriminator column used to identify which entity type each row in a table represents + when an inheritance hierarchy is mapped to a single table in a relational database. + + The entity type being configured. + The type of values stored in the discriminator column. + The builder for the entity type being configured. + + A lambda expression representing the property to be used as the discriminator ( + blog => blog.Discriminator). + + A builder that allows the discriminator column to be configured. + + + + Relational database specific extension methods for . + + + + + Configures the name of the index in the database when targeting a relational database. + + The builder for the index being configured. + The name of the index. + A builder to further configure the index. + + + + Relational database specific extension methods for . + + + + + Configures the name of the key constraint in the database when targeting a relational database. + + The builder for the key being configured. + The name of the key. + The same builder instance so that multiple calls can be chained. + + + + Relational database specific extension methods for metadata. + + + + + Gets the relational database specific metadata for a property. + + The property to get metadata for. + The relational database specific metadata for the property. + + + + Gets the relational database specific metadata for a property. + + The property to get metadata for. + The relational database specific metadata for the property. + + + + Gets the relational database specific metadata for an entity. + + The entity to get metadata for. + The relational database specific metadata for the entity. + + + + Gets the relational database specific metadata for an entity. + + The entity to get metadata for. + The relational database specific metadata for the entity. + + + + Gets the relational database specific metadata for a key. + + The key to get metadata for. + The relational database specific metadata for the key. + + + + Gets the relational database specific metadata for a key. + + The key to get metadata for. + The relational database specific metadata for the key. + + + + Gets the relational database specific metadata for an index. + + The index to get metadata for. + The relational database specific metadata for the index. + + + + Gets the relational database specific metadata for an index. + + The index to get metadata for. + The relational database specific metadata for the index. + + + + Gets the relational database specific metadata for a foreign key. + + The foreign key to get metadata for. + The relational database specific metadata for the foreign key. + + + + Gets the relational database specific metadata for a foreign key. + + The foreign key to get metadata for. + The relational database specific metadata for the foreign key. + + + + Gets the relational database specific metadata for a model. + + The model to get metadata for. + The relational database specific metadata for the model. + + + + Gets the relational database specific metadata for a model. + + The model to get metadata for. + The relational database specific metadata for the model. + + + + Relational database specific extension methods for . + + + + + Configures a database sequence when targeting a relational database. + + The model builder. + The name of the sequence. + The schema of the sequence. + A builder to further configure the sequence. + + + + Configures a database sequence when targeting a relational database. + + The model builder. + The name of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures a database sequence when targeting a relational database. + + The model builder. + The name of the sequence. + The schema of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + The schema of the sequence. + A builder to further configure the sequence. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + The schema of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + The schema of the sequence. + A builder to further configure the sequence. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures a database sequence when targeting a relational database. + + The type of values the sequence will generate. + The model builder. + The name of the sequence. + The schema of the sequence. + An action that performs configuration of the sequence. + The same builder instance so that multiple calls can be chained. + + + + Configures the default schema that database objects should be created in, if no schema + is explicitly configured. + + The model builder. + The default schema. + The same builder instance so that multiple calls can be chained. + + + + Relational database specific extension methods for . + + + + + Configures the column that the property maps to when targeting a relational database. + + The builder for the property being configured. + The name of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the column that the property maps to when targeting a relational database. + + The type of the property being configured. + The builder for the property being configured. + The name of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the data type of the column that the property maps to when targeting a relational database. + This should be the complete type name, including precision, scale, length, etc. + + The builder for the property being configured. + The name of the data type of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the data type of the column that the property maps to when targeting a relational database. + This should be the complete type name, including precision, scale, length, etc. + + The type of the property being configured. + The builder for the property being configured. + The name of the data type of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value expression for the column that the property maps to when targeting a relational database. + + The builder for the property being configured. + The SQL expression for the default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value expression for the column that the property maps to when targeting a relational database. + + The type of the property being configured. + The builder for the property being configured. + The SQL expression for the default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the property to map to a computed column when targeting a relational database. + + The builder for the property being configured. + The SQL expression that computes values for the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the property to map to a computed column when targeting a relational database. + + The type of the property being configured. + The builder for the property being configured. + The SQL expression that computes values for the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value for the column that the property maps to when targeting a relational database. + + The builder for the property being configured. + The default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value for the column that the property maps to when targeting a relational database. + + The type of the property being configured. + The builder for the property being configured. + The default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Relational database specific extension methods for LINQ queries. + + + + + + Creates a LINQ query based on a raw SQL query. + + + If the database provider supports composing on the supplied SQL, you can compose on top of the raw SQL query using + LINQ operators - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name). + + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection + attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional + arguments. Any parameter values you supply will automatically be converted to a DbParameter - + context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm). + + + You can also construct a DbParameter and supply it to as a parameter value. This allows you to use named + parameters in the SQL query string - + context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm)) + + + The type of the elements of . + + An to use as the base of the raw SQL query (typically a ). + + The raw SQL query. + The values to be assigned to parameters. + An representing the raw SQL query. + + + + Relational database specific extension methods for . + + + + + Configures the foreign key constraint name for this relationship when targeting a relational database. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + + + + Configures the foreign key constraint name for this relationship when targeting a relational database. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + The principal entity type in this relationship. + The dependent entity type in this relationship. + + + + Relational database specific extension methods for . + + + + + Configures the foreign key constraint name for this relationship when targeting a relational database. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + + + + Configures the foreign key constraint name for this relationship when targeting a relational database. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + The entity type on one end of the relationship. + The entity type on the other end of the relationship. + + + + Relational database specific extension methods for . + + + + + Causes an exception to be thrown when the specified relational database warnings are generated. + + The builder being used to configure warnings. + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + Causes a warning to be logged when the specified relational database warnings are generated. + + The builder being used to configure warnings. + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + Causes nothing to happen when the specified relational database warnings are generated. + + The builder being used to configure warnings. + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + + Logging information about a that is being executed. + + + Instances of this class are typically created by Entity Framework and passed to loggers, it is not designed + to be directly constructed in your application code. + + + + + + Initializes a new instance of the class. + + + The command text being executed. + + + The type of command being executed. + + + The timeout configured for the command. + + + Parameters for the command. + + + How many milliseconds the command took to execute (if it has completed). + + + + + Gets the command text being executed. + + + + + Gets the type of command being executed. + + + + + Gets the timeout configured for the command. + + + + + Gets the parameters for the command. + + + + + Gets how many milliseconds the command took to execute (if it has completed). + + + + + + Logging information about the parameters of a that is being executed. + + + Instances of this class are typically created by Entity Framework and passed to loggers, it is not designed + to be directly constructed in your application code. + + + + + + Initializes a new instance of the class. + + + The name of the parameter. + + + The value of the parameter. + + + A value indicating whether the parameter has a value (or is assigned null). + + + The direction of the parameter. + + + The type of the parameter. + + + A value indicating whether the parameter type is nullable. + + + The size of the type of the parameter. + + + The precision of the type of the parameter. + + + The scale of the type of the parameter. + + + + + Gets the name of the parameter. + + + + + Gets the value of the parameter. + + + + + Gets a value indicating whether the parameter has a value (or is assigned null). + + + + + Gets the direction of the parameter. + + + + + Gets the type of the parameter. + + + + + Gets a value indicating whether the parameter type is nullable. + + + + + Gets the size of the type of the parameter. + + + + + Gets the precision of the type of the parameter. + + + + + Gets the scale of the type of the parameter. + + + + + Executes the command with no results. + + The command to be executed. + The connection to execute against. + The number of rows affected. + + + + Asynchronously executes the command with no results. + + The command to be executed. + The connection to execute against. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the number of rows affected. + + + + + Executes the command with a single scalar result. + + The command to be executed. + The connection to execute against. + The result of the command. + + + + Asynchronously executes the command with a single scalar result. + + The command to be executed. + The connection to execute against. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + Executes the command with a result. + + The command to be executed. + The connection to execute against. + The result of the command. + + + + Asynchronously executes the command with a result. + + The command to be executed. + The connection to execute against. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + + Determines the type mapping to use for byte array properties. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initialized a new instance of the class. + + Maximum length of data that can be stored in a byte array property. + Default mapping to be used. + Mapping to be used for properties with no length specified. + Mapping to be used for key properties. + Mapping to be used for properties being used as a row version. + Function to create a mapping for a property with a given length. + + + + Gets the maximum length of data that can be stored in a byte array property + + + + + Gets the default mapping to be used. + + + + + Gets the mapping to be used for properties with no length specified + + + + + Gets the mapping to be used for key properties + + + + + Gets the mapping to be used for properties being used as a row version. + + + + + Gets a function to create a mapping for a property with a given length. + + + + + Gets the mapping for a property. + + + A value indicating whether the property is being used as a row version. + + + A value indicating whether the property is being used as a key and/or index. + + + The configured length of the property, or null if it is unbounded. + + The mapping to be used for the property. + + + + Extension methods for . + + + + + Gets the underlying for the given transaction. Throws if the database being targeted + is not a relational database that uses . + + The transaction to get the from. + The underlying . + + + + + Determines the type mapping to use for byte array properties. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the mapping for a property. + + + A value indicating whether the property is being used as a row version. + + + A value indicating whether the property is being used as a key and/or index. + + + The configured length of the property, or null if it is unbounded. + + The mapping to be used for the property. + + + + + Creates instances of . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets a new . + + The newly created . + + + + + Creates commands based on raw SQL command text. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new command based on SQL command text. + + The command text. + The newly created command. + + + + Creates a new command based on SQL command text. + + The command text. + Parameters for the command. + The newly created command. + + + + + A command to be executed against a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the command text to be executed. + + + + + Gets the parameters for the command. + + + + + Executes the command with no results. + + The connection to execute against. + The values for the parameters. + The number of rows affected. + + + + Executes the command with no results. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + The number of rows affected. + + + + Asynchronously executes the command with no results. + + The connection to execute against. + The values for the parameters. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the number of rows affected. + + + + + Asynchronously executes the command with no results. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the number of rows affected. + + + + + Executes the command with a single scalar result. + + The connection to execute against. + The values for the parameters. + The result of the command. + + + + Executes the command with a single scalar result. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + The result of the command. + + + + Asynchronously executes the command with a single scalar result. + + The connection to execute against. + The values for the parameters. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + Asynchronously executes the command with a single scalar result. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + Executes the command with a result. + + The connection to execute against. + The values for the parameters. + The result of the command. + + + + Executes the command with a result. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + The result of the command. + + + + Asynchronously executes the command with a result. + + The connection to execute against. + The values for the parameters. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + Asynchronously executes the command with a result. + + The connection to execute against. + The values for the parameters. + A value indicating whether to open and close the connection as needed. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the result of the command. + + + + + + Builds a command to be executed against a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Builds the parameters associated with this command. + + + + + Creates the command. + + The newly created command. + + + + + Creates instances of the class. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new . + + The newly created builder. + + + + + Represents a connection with a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the connection string for the database. + + + + + Gets the underlying used to connect to the database. + + + + + Gets the timeout for executing a command against the database. + + + + + Opens the connection to the database. + + + + + Asynchronously opens the connection to the database. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Closes the connection to the database. + + + + + Gets a value indicating whether the multiple active result sets feature is enabled. + + + + + Gets or sets the active cursor. + + + + + Gets the current transaction. + + + + + + Performs database/schema creation, and other related operations. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Determines whether the physical database exists. No attempt is made to determine if the database + contains the schema for the current model. + + + True if the database exists; otherwise false. + + + + + Asynchronously determines whether the physical database exists. No attempt is made to determine if + the database contains the schema for the current model. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. The task result contains + true if the database exists; otherwise false. + + + + + Creates the physical database. Does not attempt to populate it with any schema. + + + + + Asynchronously creates the physical database. Does not attempt to populate it with any schema. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Deletes the physical database. + + + + + Asynchronously deletes the physical database. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Creates all tables for the current model in the database. No attempt is made + to incrementally update the schema. It is assumed that none of the tables exist in the database. + + + + + Asynchronously creates all tables for the current model in the database. No attempt is made + to incrementally update the schema. It is assumed that none of the tables exist in the database. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + + The primary services needed to interact with a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + The for the provider. + + + + + + A parameter in an . Note that this interface just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The name of the parameter. + + + + + Adds the parameter as a to a . + + The command to add the parameter to. + The value to be assigned to the parameter. + + + + + Builds a collection of . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The collection of parameters. + + + + + Adds a parameter. + + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + + + Adds a parameter. + + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + The type mapping for the property that values for this parameter will come from. + + + A value indicating whether the parameter can contain null values. + + + + + Adds a parameter. + + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + + + + Adds a parameter that is ultimately represented as multiple s in the + final command. + + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The action to add the multiple parameters that this placeholder represents. + + + + + Adds a parameter. + + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + The property that values for this parameter will come from. + + + + + + Creates and manages the current transaction for a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Begins a new transaction. + + The isolation level to use for the transaction. + The newly created transaction. + + + + Asynchronously begins a new transaction. + + The isolation level to use for the transaction. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the newly created transaction. + + + + + Specifies an existing to be used for database operations. + + The transaction to be used. + + An instance of that wraps the provided transaction. + + + + + + Maps .NET types to their corresponding relational database types. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the relational database type for the given property. + Returns null if no mapping is found. + + The property to get the mapping for. + The type mapping to be used. + + + + Gets the relational database type for a given .NET type. + Returns null if no mapping is found. + + The type to get the mapping for. + The type mapping to be used. + + + + Gets the mapping that represents the given database type. + Returns null if no mapping is found. + + The type to get the mapping for. + The type mapping to be used. + + + + Ensures that the given type name is a valid type for the relational database. + An exception is thrown if it is not a valid type. + + The type to be validated. + + + + Gets the mapper to be used for byte array properties. + + + + + Gets the mapper to be used for string properties. + + + + + + Creates instances of the type. An + is tied to a particular result shape and will only create value buffers for that result shape. Instances + for different result shapes are created by . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a value buffer for the given . + + The reader to create a value buffer for. + The newly created value buffer. + + + + + Creates instances of the type. + instances are tied to a specific result shape. This factory is responsible for creating the + for a given result shape. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new . + + + The types of values to be returned from the value buffer. + + + An ordered list of zero-based indexes to be read from the underlying result set (i.e. the first number in this + list is the index of the underlying result set that will be returned when value 0 is requested from the + value buffer). + + + The newly created . + + + + + + Provides services to help with generation of SQL commands. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The terminator to be used for SQL statements. + + + + + The terminator to be used for batches of SQL statements. + + + + + Generates a valid parameter name for the given candidate name. + + + The candidate name for the parameter. + + A valid name based on the candidate name. + + + + Writes a valid parameter name for the given candidate name. + + The to write generated string to. + + The candidate name for the parameter. + + + + + Generates the SQL representation of a literal value. + + The literal value. + An optional type mapping that is used for this value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + An optional type mapping that is used for this value. + + + + Generates the escaped SQL representation of a literal value. + + The value to be escaped. + The generated string. + + + + Writes the escaped SQL representation of a literal value. + + The to write generated string to. + The value to be escaped. + + + + Generates the escaped SQL representation of an identifier (column name, table name, etc.). + + The identifier to be escaped. + The generated string. + + + + Writes the escaped SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to be escaped. + + + + Generates the delimited SQL representation of an identifier (column name, table name, etc.). + + The identifier to delimit. + The generated string. + + + + Writes the delimited SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to delimit. + + + + Generates the delimited SQL representation of an identifier (column name, table name, etc.). + + The identifier to delimit. + The schema of the identifier. + The generated string. + + + + Writes the delimited SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to delimit. + The schema of the identifier. + + + + + Maps string property types to their corresponding relational database types. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the relational database type for a string property. + + A value indicating whether the property should handle Unicode data or not. + A value indicating whether the property is part of a key or not. + The maximum length of data the property is configured to store, or null if no maximum is configured. + The type mapping to be used. + + + + + Generates unique names for parameters. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Generates the next unique parameter name. + + The generated name. + + + + Resets the generator, meaning it can reuse previously generated names. + + + + + + Creates instances of the type. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new . + + The newly created generator. + + + + + Represents a raw SQL command to be executed against a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The command to be executed. + The values to be assigned to parameters. + + + + Gets the command to be executed. + + + + + Gets the values to be assigned to parameters. + + + + + Extension methods for the class. + + + + + Appends an object to the command text. + + The command builder. + The object to be written. + The same builder instance so that multiple calls can be chained. + + + + Appends a blank line to the command text. + + The command builder. + The same builder instance so that multiple calls can be chained. + + + + Appends an object to the command text on a new line. + + The command builder. + The object to be written. + The same builder instance so that multiple calls can be chained. + + + + Appends an object, that contains multiple lines of text, to the command text. + Each line read from the object is appended on a new line. + + The command builder. + The object to be written. + The same builder instance so that multiple calls can be chained. + + + + Increments the indent of subsequent lines. + + The command builder. + The same builder instance so that multiple calls can be chained. + + + + Decrements the indent of subsequent lines. + + The command builder. + The same builder instance so that multiple calls can be chained. + + + + Increases the indent of the command text. + + The command builder. + The same builder instance so that multiple calls can be chained. + + + + Gets the length of the command text. + + The command builder. + The length of the command text. + + + + Adds a parameter. + + The command builder. + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + The same builder instance so that multiple calls can be chained. + + + + Adds a parameter. + + The command builder. + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + The type mapping for the property that values for this parameter will come from. + + + A value indicating whether the parameter can contain null values. + + The same builder instance so that multiple calls can be chained. + + + + Adds a parameter. + + The command builder. + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + The same builder instance so that multiple calls can be chained. + + + + Adds a parameter that is ultimately represented as multiple s in the + final command. + + The command builder. + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The action to add the multiple parameters that this placeholder represents. + + The same builder instance so that multiple calls can be chained. + + + + Adds a parameter. + + The command builder. + + The key that identifies this parameter. Note that just represents a + placeholder for a parameter and not the actual value. This is because the same command can be + reused multiple times with different parameter values. + + + The name to be used for the parameter when the command is executed against the database. + + + The property that values for this parameter will come from. + + The same builder instance so that multiple calls can be chained. + + + + + Represents a connection with a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The options for the context that this connection will be used with. + The logger to write to. + + + + Creates a to the database. + + The connection. + + + + Gets the logger to write to. + + + + + Gets the connection string for the database. + + + + + Gets the underlying used to connect to the database. + + + + + Gets the current transaction. + + + + + Gets the timeout for executing a command against the database. + + + + + Begins a new transaction. + + The newly created transaction. + + + + Asynchronously begins a new transaction. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the newly created transaction. + + + + + Begins a new transaction. + + The isolation level to use for the transaction. + The newly created transaction. + + + + Asynchronously begins a new transaction. + + The isolation level to use for the transaction. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the newly created transaction. + + + + + Specifies an existing to be used for database operations. + + The transaction to be used. + + + + Commits all changes made to the database in the current transaction. + + + + + Discards all changes made to the database in the current transaction. + + + + + Opens the connection to the database. + + + + + Asynchronously opens the connection to the database. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Closes the connection to the database. + + + + + Gets a value indicating whether the multiple active result sets feature is enabled. + + + + + Gets or sets the active cursor. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + The main interaction point between a context and the database provider. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The to be used. + The to be used. + The to be used. + The to be used. + + + + Persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + The number of state entries persisted to the database. + + + + Asynchronously persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains the + number of entries persisted to the database. + + + + + + Performs database/schema creation, and other related operations. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The for the context this creator is being used with. + The to be used. + The to be used. + The to be used. + The to be used. + + + + Initializes a new instance of the class. + + The for the context this creator is being used with. + The to be used. + The to be used. + The to be used. + The to be used. + The to be used. + + + + Gets the model for the context this creator is being used with. + + + + + Gets the connection for the database. + + + + + Gets the to be used. + + + + + Gets the to be used. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Determines whether the physical database exists. No attempt is made to determine if the database + contains the schema for the current model. + + + True if the database exists; otherwise false. + + + + + Asynchronously determines whether the physical database exists. No attempt is made to determine if + the database contains the schema for the current model. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. The task result contains + true if the database exists; otherwise false. + + + + + Creates the physical database. Does not attempt to populate it with any schema. + + + + + Asynchronously creates the physical database. Does not attempt to populate it with any schema. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + + Deletes the physical database. + + + + + Asynchronously deletes the physical database. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + + Creates all tables for the current model in the database. No attempt is made + to incrementally update the schema. It is assumed that none of the tables exist in the database. + + + + + Asynchronously creates all tables for the current model in the database. No attempt is made + to incrementally update the schema. It is assumed that none of the tables exist in the database. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + + Gets the commands that will create all tables from the model. + + The generated commands. + + + + Determines whether the database contains any tables. No attempt is made to determine if + tables belong to the current model or not. + + A value indicating whether any tables are present in the database. + + + + Asynchronously determines whether the database contains any tables. No attempt is made to determine if + tables belong to the current model or not. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains + a value indicating whether any tables are present in the database. + + + + + + Ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + + True if the database is deleted, false if it did not exist. + + + + + + Asynchronously ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is deleted, + false if it did not exist. + + + + + Ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + + True if the database is created, false if it already existed. + + + + + Asynchronously ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is created, + false if it already existed. + + + + + + The primary services needed to interact with a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The service provider to resolve services from. + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Reads result sets from a relational database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The connection. + The command that was executed. + The underlying reader for the result set. + + + + Gets the underlying reader for the result set. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + Provides services to help with generation of SQL commands. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the floating point format. + + + + + Gets the decimal format. + + + + + Gets the decimal format. + + + + + Gets the date time format. + + + + + Gets the date time format. + + + + + Gets the date time offset format. + + + + + Gets the date time offset format. + + + + + The terminator to be used for SQL statements. + + + + + The terminator to be used for batches of SQL statements. + + + + + Generates a valid parameter name for the given candidate name. + + The candidate name for the parameter. + + A valid name based on the candidate name. + + + + + Writes a valid parameter name for the given candidate name. + + The to write generated string to. + The candidate name for the parameter. + + + + Generates the SQL representation of a literal value. + + The literal value. + An optional type mapping that is used for this value. + + The generated string. + + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + An optional type mapping that is used for this value. + + + + Generates the escaped SQL representation of a literal value. + + The value to be escaped. + + The generated string. + + + + + Writes the escaped SQL representation of a literal value. + + The to write generated string to. + The value to be escaped. + + + + Generates the escaped SQL representation of an identifier (column name, table name, etc.). + + The identifier to be escaped. + + The generated string. + + + + + Writes the escaped SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to be escaped. + + + + Generates the delimited SQL representation of an identifier (column name, table name, etc.). + + The identifier to delimit. + + The generated string. + + + + + Writes the delimited SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to delimit. + + + + Generates the delimited SQL representation of an identifier (column name, table name, etc.). + + The identifier to delimit. + The schema of the identifier. + + The generated string. + + + + + Writes the delimited SQL representation of an identifier (column name, table name, etc.). + + The to write generated string to. + The identifier to delimit. + The schema of the identifier. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + An optional type mapping that is used for this value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + An optional type mapping that is used for this value. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + Generates the SQL representation of a literal value. + + The literal value. + The generated string. + + + + Writes the SQL representation of a literal value. + + The to write generated string to. + The literal value. + + + + + A transaction against the database. + + + Instances of this class are typically obtained from and it is not designed + to be directly constructed in your application code. + + + + + + Initializes a new instance of the class. + + The connection to the database. + The underlying . + The logger to write to. + + A value indicating whether the transaction is owned by this class (i.e. if it can be disposed when this class is disposed). + + + + + Commits all changes made to the database in the current transaction. + + + + + Discards all changes made to the database in the current transaction. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + Maps .NET types to their corresponding relational database types. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the mappings from .NET types to database types. + + The type mappings. + + + + Gets the mappings from database types to .NET types. + + The type mappings. + + + + Gets column type for the given property. + + The property. + The name of the database type. + + + + Ensures that the given type name is a valid type for the relational database. + An exception is thrown if it is not a valid type. + + The type to be validated. + + + + Gets the relational database type for the given property. + Returns null if no mapping is found. + + The property to get the mapping for. + + The type mapping to be used. + + + + + Gets the relational database type for a given .NET type. + Returns null if no mapping is found. + + The type to get the mapping for. + + The type mapping to be used. + + + + + Gets the mapping that represents the given database type. + Returns null if no mapping is found. + + The type to get the mapping for. + + The type mapping to be used. + + + + + Creates the mapping for the given database type. + + The type to create the mapping for. + The type mapping to be used. + + + + Gets the relational database type for the given property, using a separate type mapper if needed. + This base implementation uses custom mappers for string and byte array properties. + Returns null if no mapping is found. + + The property to get the mapping for. + + The type mapping to be used. + + + + + Gets the mapper to be used for byte array properties. + + + + + Gets the mapper to be used for string properties. + + + + + Gets the relational database type for the given string property. + + The property to get the mapping for. + The type mapping to be used. + + + + Gets the relational database type for the given byte array property. + + The property to get the mapping for. + The type mapping to be used. + + + + Gets a value indicating whether the given property should use a database type that is suitable for key properties. + + The property to get the mapping for. + True if the property is a key, otherwise false. + + + + Extension methods for the class. + + + + + Gets the relational database type for a given object, throwing if no mapping is found. + + The type mapper. + The object to get the mapping for. + The type mapping to be used. + + + + Gets the relational database type for a given property, throwing if no mapping is found. + + The type mapper. + The property to get the mapping for. + The type mapping to be used. + + + + Gets the relational database type for a given .NET type, throwing if no mapping is found. + + The type mapper. + The type to get the mapping for. + The type mapping to be used. + + + + Gets the mapping that represents the given database type, throwing if no mapping is found. + + The type mapper. + The type to get the mapping for. + The type mapping to be used. + + + + Gets a value indicating whether the given .NET type is mapped. + + The type mapper. + The .NET type. + True if the type can be mapped; otherwise false. + + + + + Represents the mapping between a .NET type and a database type. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the mapping to be used when the only piece of information is that there is a null value. + + + + + Initializes a new instance of the class. + + The name of the database type. + The .NET type. + + + + Initializes a new instance of the class. + + The name of the database type. + The .NET type. + The to be used. + + + + Initializes a new instance of the class. + + The name of the database type. + The .NET type. + The to be used. + A value indicating whether the type should handle Unicode data or not. + The size of data the property is configured to store, or null if no size is configured. + A value indicating whether the Unicode setting has been manually configured to a non-default value. + A value indicating whether the size setting has been manually configured to a non-default value. + + + + Creates a copy of this mapping. + + The name of the database type. + The size of data the property is configured to store, or null if no size is configured. + The newly created mapping. + + + + Gets the name of the database type. + + + + + Gets the .NET type. + + + + + Gets the to be used. + + + + + Gets a value indicating whether the type should handle Unicode data or not. + + + + + Gets the size of data the property is configured to store, or null if no size is configured. + + + + + Gets a value indicating whether the Unicode setting has been manually configured to a non-default value. + + + + + Gets a value indicating whether the size setting has been manually configured to a non-default value. + + + + + Creates a with the appropriate type information configured. + + The command the parameter should be created on. + The name of the parameter. + The value to be assigned to the parameter. + A value indicating whether the parameter should be a nullable type. + + + + + Configures type information of a . + + The parameter to be configured. + + + + + Maps string property types to their corresponding relational database types. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The maximum length of a bounded ANSI string. + The default mapping of an ANSI string. + The mapping for an unbounded ANSI string. + The mapping for an ANSI string that is part of a key. + The function to create a mapping for a bounded ANSI string. + The maximum length of a bounded Unicode string. + The default mapping of a Unicode string. + The mapping for an unbounded Unicode string. + The mapping for a Unicode string that is part of a key. + The function to create a mapping for a bounded Unicode string. + + + + Gets the maximum length of a bounded ANSI string. + + + + + Gets the default mapping of an ANSI string. + + + + + Gets the mapping for an unbounded ANSI string. + + + + + Gets the mapping for an ANSI string that is part of a key. + + + + + Gets the function to create a mapping for a bounded ANSI string. + + + + + Gets the maximum length of a bounded Unicode string. + + + + + Gets the default mapping of a Unicode string. + + + + + Gets the mapping for an unbounded Unicode string. + + + + + Gets the mapping for a Unicode string that is part of a key. + + + + + Gets the function to create a mapping for a bounded Unicode string. + + + + + Gets the relational database type for a string property. + + A value indicating whether the property should handle Unicode data or not. + A value indicating whether the property is part of a key or not. + The maximum length of data the property is configured to store, or null if no maximum is configured. + + The type mapping to be used. + + + + + + Creates instances of the type. + instances are tied to a specific result shape. This factory is responsible for creating the + for a given result shape. + + + This factory results in value buffers that use they strongly typed APIs to read back individual values from the + underlying . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new . + + + The types of values to be returned from the value buffer. + + + An ordered list of zero-based indexes to be read from the underlying result set (i.e. the first number in this + list is the index of the underlying result set that will be returned when value 0 is requested from the + value buffer). + + + The newly created . + + + + + + Creates instances of the type. + instances are tied to a specific result shape. This factory is responsible for creating the + for a given result shape. + + + This factory results in value buffers that use the untyped API to read + back individual values from the underlying . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Creates a new . + + + The types of values to be returned from the value buffer. + + + An ordered list of zero-based indexes to be read from the underlying result set (i.e. the first number in this + list is the index of the underlying result set that will be returned when value 0 is requested from the + value buffer). + + + The newly created . + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Cannot create a ModificationFunction for an entity in state '{entityState}'. + + + + + Database operation expected to affect {expectedRows} row(s) but actually affected {actualRows} row(s). Data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions. + + + + + Multiple relational database provider configurations found. A context can only be configured to use a single database provider. + + + + + No relational database providers are configured. Configure a database provider using OnConfiguring or by creating an ImmutableDbContextOptions with a database provider configured and passing it to the context. + + + + + Both an existing DbConnection and a connection string have been configured. When an existing DbConnection is used the connection string must be set on that connection. + + + + + A relational store has been configured without specifying either the DbConnection or connection string to use. + + + + + No mapping to a relational type can be found for the CLR type '{clrType}'. + + + + + Relational-specific methods can only be used when the context is using a relational database provider. + + + + + An error occurred while updating the entries. See the inner exception for details. + + + + + The connection is already in a transaction and cannot participate in another transaction. + + + + + The specified transaction is not associated with the current connection. Only transactions associated with the current connection may be used. + + + + + Opening connection to database '{database}' on server '{server}'. + + + + + Closing connection to database '{database}' on server '{server}'. + + + + + Beginning transaction with isolation level '{isolationLevel}'. + + + + + Committing transaction. + + + + + Rolling back transaction. + + + + + Invalid type for sequence. Valid types are 'Int64' (the default), 'Int32', 'Int16', and 'Byte'. + + + + + Unable to deserialize sequence from model metadata. See inner exception for details. + + + + + The migration '{migrationName}' was not found. + + + + + The current migration SQL generator '{sqlGeneratorType}' is unable to generate SQL for operations of type '{operationType}'. + + + + + The specified CommandTimeout value is not valid. It must be a positive number. + + + + + The specified MaxBatchSize value is not valid. It must be a positive number. + + + + + Unable to materialize entity of type '{entityType}'. No discriminators were matched. + + + + + A discriminator property cannot be set for the entity type '{entityType}' because it is not the root of an inheritance hierarchy. + + + + + Unable to set property '{property}' as a discriminator for entity type '{entityType}' because it is not a property of '{entityType}'. + + + + + An ambient transaction has been detected. Entity Framework Core does not support ambient transactions. See http://go.microsoft.com/fwlink/?LinkId=800142 + + + + + Possible unintended use of method Equals(object) for arguments of different types: '{left}', '{right}'. This comparison will always return 'false'. + + + + + Linq translation for method '{function}' used by this database provider can return incorrect results when the value argument contains wildcard characters (e.g. '%' or '_'). + + + + + The Include operation is not supported when calling a stored procedure. + + + + + Generating down script for migration '{migration}'. + + + + + Generating up script for migration '{migration}'. + + + + + Applying migration '{migration}'. + + + + + Reverting migration '{migration}'. + + + + + Using database '{database}' on server '{dataSource}'. + + + + + The required column '{column}' was not present in the results of a 'FromSql' operation. + + + + + Cannot use table '{table}' in schema '{schema}' for entity '{entityType}' since it is being used for another entity. + + + + + Property '{property}' on entity type '{entityType}' is part of a primary or alternate key but has a constant default value set. Constant default values are not useful for primary or alternate keys since these properties must always have non-null unqiue values. + + + + + Cannot configure the discriminator value for entity type '{entityType}' because it doesn't derive from '{rootEntityType}'. + + + + + Cannot set discriminator value '{value}' for discriminator property '{discriminator}' because it is not assignable to property of type '{discriminatorType}'. + + + + + Cannot set discriminator value for entity type '{entityType}' because the root entity type '{rootEntityType}' doesn't have a discriminator property set. + + + + + The entity type '{entityType}' is part of a hierarchy, but does not have a discriminator property configured. + + + + + The entity type '{entityType}' is part of a hierarchy, but does not have a discriminator value configured. + + + + + The LINQ expression '{expression}' could not be translated and will be evaluated locally. + + + + + No value provided for required parameter '{parameter}'. + + + + + Cannot use the value provided for parameter '{parameter}' because it isn't assignable to type object[]. + + + + + Executed DbCommand ({elapsed}ms) [Parameters=[{parameters}], CommandType='{commandType}', CommandTimeout='{commandTimeout}']{newLine}{commandText} + + + + + '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different data types ('{dataType1}' and '{dataType2}'). + + + + + The connection does not have any active transactions. + + + + + Two entities cannot make conflicting updates to the same row. + + + + + Cannot set default value '{value}' of type '{valueType}' on property '{property}' of type '{propertyType}' in entity type '{entityType}'. + + + + + The discriminator value for '{entityType1}' is '{discriminatorValue}' which is the same for '{entityType2}'. Every concrete entity type in the hierarchy needs to have a unique discriminator value. + + + + + '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different nullability. + + + + + '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different computed values ('{value1}' and '{value2}'). + + + + + '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different default values ('{value1}' and '{value2}'). + + + + + {conflictingConfiguration} cannot be set for '{property}', because {existingConfiguration} is already set. + + + + + The foreign keys {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but use different columns ({columnNames1} and {columnNames2}). + + + + + The foreign keys {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different delete behavior ('{deleteBehavior1}' and '{deleteBehavior2}'). + + + + + The foreign keys {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal columns ({principalColumnNames1} and {principalColumnNames2}). + + + + + The foreign keys {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal tables ('{principalTable1}' and '{principalTable2}'). + + + + + The foreign keys {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different uniqueness. + + + + + The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different columns ({columnNames1} and {columnNames2}). + + + + + The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different uniqueness. + + + + + No mapping to a relational type can be found for property '{entity}.{property}' with the CLR type '{clrType}'. + + + + + + Allows relational database specific configuration to be performed on . + + + Instances of this class are typically returned from methods that configure the context to use a + particular relational database provider. + + + + + + Initializes a new instance of the class. + + The core options builder. + + + + Gets the core options builder. + + + + + Clones the configuration in this builder. + + The cloned configuration. + + + + Configures the maximum number of statements that will be included in commands sent to the database + during . + + The maximum number of statements. + The same builder instance so that multiple calls can be chained. + + + + Configures the wait time (in seconds) before terminating the attempt to execute a command and generating an error. + + The time in seconds to wait for the command to execute. + The same builder instance so that multiple calls can be chained. + + + + Configures the assembly where migrations are maintained for this context. + + The name of the assembly. + The same builder instance so that multiple calls can be chained. + + + + Configures the name of the table used to record which migrations have been applied to the database. + + The name of the table. + The schema of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the context to use relational database semantics when comparing null values. By default, + Entity Framework will use C# semantics for null values, and generate SQL to compensate for differences + in how the database handles nulls. + + The same builder instance so that multiple calls can be chained. + + + + Configures the context to use the provided . + + A function that returns a new instance of an execution strategy. + + + + Sets an option by cloning the extension used to store the settings. This ensures the builder + does not modify options that are already in use elsewhere. + + An action to set the option. + The same builder instance so that multiple calls can be chained. + + + + Values that are used as the eventId when logging messages from a relational database provider via . + + + + + A command was executed against the database. + + + + + A database is being created. + + + + + A connection is being opened. + + + + + A connection is being closed. + + + + + A transaction is beginning. + + + + + A transaction is being committed. + + + + + A transaction is being rolled back. + + + + + A LINQ query is being executed where some of the query will be evaluated on the client + (i.e. part of the query can not be translated to SQL). + + + + + Two entities were compared for equality in a LINQ query, which may not produce the desired result. + + + + + An ambient transaction is present, which is not fully supported by Entity Framework Core. + + + + + Linq translation of 'Contains', 'EndsWith' and 'StartsWith' functions may produce incorrect results + when searched value contains wildcard characters. + + + + + A migration is being applied to the database. + + + + + The revert script is being generated for a migration. + + + + + The apply script is being generated for a migration. + + + + + Migrations are being applied on the database. + + + + + A migration is being reverted. + + + + + The SQL for a migration being reverted. + + + + + The SQL for a migration being applied. + + + + + Relational database specific extension methods for . + + + + + + Adds the base services required by a relational database provider. + + + This method is typically used by database providers (and other extensions). It is generally + not used in application code. + + + The to add services to. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + true if the table exists; otherwise, false. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The new schema name or null if unchanged. + + + + + The new sequence name or null if unchanged. + + + + + The new schema name or null if unchanged. + + + + + The new table name or null if unchanged. + + + + + Provides reflection objects for late-binding to asynchronous relational query operations. + + + + + The shaped query method. + + + + + The default if empty shaped query method. + + + + + The query method. + + + + + The get result method. + + + + + The group by method. + + + + + Type of the group join include. + + + + + Creates a group join include used to describe an Include operation that should + be performed as part of a GroupJoin. + + The included navigation path. + true if this query source requires tracking. + A possibly null existing group join include. + The related entities loaders. + + A new group join include. + + + + + The group join method. + + + + + The include method. + + + + + Type of the related entities loader. + + + + + The create reference related entities loader method. + + + + + The create collection related entities loader method. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Provides reflection objects for late-binding to relational query operations. + + + + + Gets the group join method. + + + The group join method. + + + + + Gets the group by method. + + + The group by method. + + + + + Gets the shaped query method. + + + The shaped query method. + + + + + Gets the default if empty shaped query method. + + + The default if empty shaped query method. + + + + + Gets the query method. + + + The query method. + + + + + Gets the get result method. + + + The get result method. + + + + + Gets the include method. + + + The include method. + + + + + Gets the type of the related entities loader. + + + The type of the related entities loader. + + + + + Gets the create reference related entities loader method. + + + The create reference related entities loader method. + + + + + Gets the create collection related entities loader method. + + + The create collection related entities loader method. + + + + + Gets the inject parameters method. + + + The pre execute method. + + + + + Gets the type of the group join include. + + + The type of the group join include. + + + + + Creates a group join include used to describe an Include operation that should + be performed as part of a GroupJoin. + + The included navigation path. + true if this query source requires tracking. + A possibly null existing group join include. + The related entities loaders. + + A new group join include. + + + + + Provides reflection objects for late-binding to synchronous relational query operations. + + + + + Gets the shaped query method. + + + The shaped query method. + + + + + Gets the default if empty shaped query method. + + + The default if empty shaped query method. + + + + + Gets the query method. + + + The query method. + + + + + Gets the get result method. + + + The get result method. + + + + + Gets the group by method. + + + The group by method. + + + + + Gets the type of the group join include. + + + The type of the group join include. + + + + + Creates a group join include used to describe an Include operation that should + be performed as part of a GroupJoin. + + The included navigation path. + true if this query source requires tracking. + A possibly null existing group join include. + The related entities loaders. + + A new group join include. + + + + + Gets the group join method. + + + The group join method. + + + + + Gets the include method. + + + The include method. + + + + + Gets the type of the related entities loader. + + + The type of the related entities loader. + + + + + Gets the create reference related entities loader method. + + + The create reference related entities loader method. + + + + + Gets the create collection related entities loader method. + + + The create collection related entities loader method. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + A relational query compilation context. The primary data structure representing the state/components + used during relational query compilation. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the query method provider. + + + The query method provider. + + + + + Gets the list of parameter names that represent reference to a parent query. + + + The list of parameter names that represent reference to a parent query. + + + + + Creates a query model visitor. + + + The new query model visitor. + + + + + True if the current provider supports SQL LATERAL JOIN. + + + + + Creates query model visitor. + + The parent entity query model visitor. + + The new query model visitor. + + + + + Searches for a select expression corresponding to the passed query source. + + The query source. + + The select expression. + + + + + Creates a unique table alias. + + + A unique table alias. + + + + + Creates a unique table alias. + + The current alias. + + A unique table alias. + + + + + A relational factory for instances of . + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Creates a new QueryCompilationContext. + + true if the query is asynchronous. + + A QueryCompilationContext. + + + + + The principal data structure used by a compiled relational query during execution. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the active relational connection. + + + The connection. + + + + + Gets a semaphore used to serialize async queries. + + + The semaphore. + + + + + The execution strategy factory. + + + The execution strategy factory. + + + + + Registers a value buffer cursor. + + The value buffer cursor. + Zero-based index of the query. + + + + Asynchronously registers a value buffer cursor. + + The value buffer cursor. + Zero-based index of the query. + The cancellation token. + + A Task. + + + + + Deregisters the value buffer cursor described by valueBufferCursor. + + The value buffer cursor. + + + + Gets the include value buffer for a given query index. + + Zero-based index of the query. + + The include value buffer. + + + + + Begins an include scope. + + + + + Ends an include scope. + + + + + The default relational visitor. + + + + + The SelectExpressions for this query, mapped by query source. + + + A map of query source to select expression. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the options for the target context. + + + Options for the target context. + + + + + Gets or sets a value indicating whether the query requires client eval. + + + true if the query requires client eval, false if not. + + + + + Gets or sets a value indicating whether the query requires client select many. + + + true if the query requires client select many, false if not. + + + + + Gets or sets a value indicating whether the query requires client join. + + + true if the query requires client join, false if not. + + + + + Gets or sets a value indicating whether the query requires client filter. + + + true if the query requires client filter, false if not. + + + + + Gets or sets a value indicating whether the query requires client order by. + + + true if the query requires client order by, false if not. + + + + + Gets or sets a value indicating whether the query requires client projection. + + + true if the query requires client projection, false if not. + + + + + Gets or sets a value indicating whether the query requires client result operator. + + + true if the query requires client result operator, false if not. + + + + + Gets or sets a value indicating whether the query requires client evaluation for result operators potentially apply to a subset of columns rather than entire row. + + + true if the query requires client single column result operator, false if not. + + + + + Context for the query compilation. + + + + + The SelectExpressions active in the current query compilation. + + + + + Gets the parent query model visitor, or null if there is no parent. + + + The parent query model visitor, or null if there is no parent. + + + + + Registers a sub query visitor. + + The query source. + The query model visitor. + + + + Adds a SelectExpression to this query. + + The query source. + The select expression. + + + + Try and get the active SelectExpression for a given query source. + + The query source. + + A SelectExpression, or null. + + + + + High-level method called to perform Include compilation. + + The query model. + Related data to be included. + + + + High-level method called to perform Include compilation for a single Include. + + The navigation property to be included. + The type of results returned by the query. + Expression for the navigation property to be included. + A value indicating whether results of this query are to be tracked. + + + + Visit a query model. + + The query model. + + + + Visit a sub-query model. + + The sub-query model. + + + + Compile main from clause expression. + + The main from clause. + The query model. + + An Expression. + + + + + Visit an additional from clause. + + The from clause being visited. + The query model. + Index of the node being visited. + + + + Compile an additional from clause expression. + + The additional from clause being compiled. + The query model. + + An Expression. + + + + + Visit a join clause. + + The join clause being visited. + The query model. + Index of the node being visited. + + + + Compile a join clause inner sequence expression. + + The join clause being compiled. + The query model. + + An Expression. + + + + + Visit a group join clause. + + The group join being visited. + The query model. + Index of the node being visited. + + + + Optimize a join clause. + + The join clause being visited. + The query model. + Index of the node being visited. + The base visit action. + The operator to flatten. + true if an outer join should be performed. + + + + Compile a group join inner sequence expression. + + The group join clause being compiled. + The query model. + + An Expression. + + + + + Visit a where clause. + + The where clause being visited. + The query model. + Index of the node being visited. + + + + Visit an order by clause. + + The order by clause. + The query model. + Index of the node being visited. + + + + Visit a result operator. + + The result operator being visited. + The query model. + Index of the node being visited. + + + + Generated a client-eval warning + + The expression being client-eval'd. + + + + Bind a member expression to a value buffer access. + + The member access expression. + The target expression. + + An Expression. + + + + + Bind a method call expression to a value buffer access. + + The method call expression. + The target expression. + + An Expression. + + + + + Bind a member expression. + + Type of the result. + The member access expression. + The member binder. + true to bind sub queries. + + A TResult. + + + + + Bind a method call expression. + + Type of the result. + The method call expression. + The member binder. + true to bind sub queries. + + A TResult. + + + + + Bind a local method call expression. + + The local method call expression. + + An Expression. + + + + + A factory for instances of . + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the relational annotation provider. + + + The relational annotation provider. + + + + + Gets the include expression visitor factory. + + + The include expression visitor factory. + + + + + Gets the SQL translating expression visitor factory. + + + The SQL translating expression visitor factory. + + + + + Gets the composite predicate expression visitor factory. + + + The composite predicate expression visitor factory. + + + + + Gets the conditional removing expression visitor factory. + + + The conditional removing expression visitor factory. + + + + + Gets the query flattener factory. + + + The query flattener factory. + + + + + Gets options for controlling the context. + + + Options that control the context. + + + + + Creates a new EntityQueryModelVisitor. + + Compilation context for the query. + The visitor for the outer query. + + An EntityQueryModelVisitor. + + + + + Base class for aggregate expressions. + + + + + Specialised constructor for use only by derived class. + + The expression to aggregate. + + + + The expression to aggregate. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + An alias expression. + + + + + Creates a new instance of an AliasExpression. + + The expression being aliased. + + + + Creates a new instance of an AliasExpression. + + The alias. + The expression being aliased. + + + + Gets or sets the alias. + + + The alias. + + + + + The expression being aliased. + + + + + Gets or sets a value indicating whether the expression is being projected. + + + true if projected, false if not. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Gets or sets the source expression. + + + The source expression. + + + + + Gets or sets the source member. + + + The source member. + + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Tests if this object is considered equal to another. + + The object to compare with the current object. + + true if the objects are considered equal, false if they are not. + + + + + Returns a hash code for this object. + + + A hash code for this object. + + + + + A column expression. + + + + + Creates a new instance of a ColumnExpression. + + The column name. + The corresponding property. + The target table expression. + + + + Creates a new instance of a ColumnExpression. + + The column name. + The column type. + The target table expression. + + + + The target table. + + + + + The target table alias. + + + + + The corresponding property. + + + + + Gets the column name. + + + The column name. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Gets a value indicating whether this column expression can contain null. + + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Tests if this object is considered equal to another. + + The object to compare with the current object. + + true if the objects are considered equal, false if they are not. + + + + + Returns a hash code for this object. + + + A hash code for this object. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a SQL COUNT expression. + + + + + Creates a new instance of a CountExpression. + + + + + Creates a new instance of a CountExpression. + + The type. + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL CROSS JOIN expression. + + + + + Creates a new instance of a CrossJoinExpression. + + The table expression. + + + + The table expression. + + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Reduces the node and then calls the method passing the reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a discriminator predicate. + + + + + Creates a new instance of a DiscriminatorPredicateExpression.. + + The predicate. + The query source. + + + + Gets the query source. + + + The query source. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Indicates that the node can be reduced to a simpler node. If this + returns true, Reduce() can be called to produce the reduced form. + + + + + Reduces this node to a simpler expression. If CanReduce returns + true, this should return a valid expression. This method is + allowed to return another node which itself must be reduced. + + The reduced expression. + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL EXISTS expression. + + + + + Creates a new instance of a ExistsExpression.. + + The subquery operand of the EXISTS expression. + + + + Gets the subquery operand of the EXISTS expression. + + + The subquery operand of the EXISTS expression. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL CAST expression. + + + + + Creates a new instance of a ExplicitCastExpression.. + + The operand. + The target type. + + + + Gets the operand. + + + The operand. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a FromSql expression. + + + + + Creates a new instance of a FromSqlExpression. + + The SQL. + The arguments. + The alias. + The query source. + + + + Gets the SQL. + + + The SQL. + + + + + Gets the arguments. + + + The arguments. + + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a SQL IN expression. + + + + + Creates a new instance of InExpression. + + The operand. + The values. + + + + Creates a new instance of InExpression. + + The operand. + The sub query. + + + + Gets the operand. + + + The operand. + + + + + Gets the values. + + + The values. + + + + + Gets the sub query. + + + The sub query. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a SQL INNER JOIN expression. + + + + + Creates a new instance of InnerJoinExpression. + + The table expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + A factory for SelectExpression instances. + + + + + Creates a new SelectExpression. + + Context for the query compilation. + + A SelectExpression. + + + + + Creates a new SelectExpression. + + Context for the query compilation. + The alias. + + A SelectExpression. + + + + + Represents a SQL IS NULL expression. + + + + + Creates a new instance of IsNullExpression. + + The operand. + + + + The operand. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + A base class for SQL JOIN expressions. + + + + + Specialised constructor for use only by derived class. + + The target table expression. + + + + The target table expression. + + + + + Gets or sets the predicate. + + + The predicate. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL LATERAL JOIN expression. + + + + + Creates a new instance of LateralJoinExpression. + + The target table expression. + + + + The target table expression. + + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL LEFT OUTER JOIN expression. + + + + + Creates a new instance of LeftOuterJoinExpression. + + + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a SQL LIKE expression. + + + + + Creates a new instance of LikeExpression. + + The expression to match. + The pattern to match. + + + + Gets the match expression. + + + The match expression. + + + + + Gets the pattern to match. + + + The pattern to match. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Represents a SQL MAX aggregate expression. + + + + + Creates a new instance of MaxExpression. + + The expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Represents a SQL MIN aggregate expression. + + + + + Creates a new instance of MinExpression. + + The expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reducible annotation expression used to affect null expansion logic. + + + + + Creates an instance of NotNullableExpression. + + The operand. + + + + The operand. + + + + + Type of the node. + + + + + The type. + + + + + Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not + reducible. + + The expression being visited, or an expression which should replace it in the tree. + An instance of . + + + + Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced + form. + + True if the node can be reduced, otherwise false. + + + + Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can + return another node which itself must be reduced. + + The reduced expression. + + + + An expression that represents accessing a property on a query parameter. + + + + + Creates a new instance of a PropertyParameterExpression. + + The parameter name. + The property to access. + + + + Gets the parameter name. + + + The parameter name. + + + + + Gets the property. + + + The property. + + + + + Name of the property parameter when used in DbCommands. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Dispatches to the specific visit method for this node type. + + + + + Represents a SQL SELECT expression. + + + + + Creates a new instance of SelectExpression. + + The query SQL generator factory. + Context for the query compilation. + + + + Creates a new instance of SelectExpression. + + The query SQL generator factory. + Context for the query compilation. + The alias. + + + + Gets or sets the predicate corresponding to the WHERE part of the SELECT expression. + + + The predicate. + + + + + Gets or sets the table alias to be used for star projection. + + + The table alias. + + + + + Type of this expression. + + + + + Makes a copy of this SelectExpression. + + The alias. + + A copy of this SelectExpression. + + + + + The tables making up the FROM part of the SELECT expression. + + + + + Gets or sets a value indicating whether this expression projects a single wildcard ('*'). + + + true if this SelectExpression is project star, false if not. + + + + + Determines whether this SelectExpression is an identity query. An identity query + has a single table, and returns all of the rows from that table, unmodified. + + + true if this SelectExpression is an identity query, false if not. + + + + + Adds a table to this SelectExpression. + + The table expression. + true to create unique alias. + + + + Adds tables to this SelectExprssion. + + The table expressions. + + + + Removes any tables added to this SelectExpression. + + + + + Determines if this SelectExpression contains any correlated subqueries. + + + true if correlated, false if not. + + + + + Determines whether or not this SelectExpression handles the given query source. + + The query source. + + true if the supplied query source is handled by this SelectExpression; otherwise false. + + + + + Gets the table corresponding to the supplied query source. + + The query source. + + The table for query source. + + + + + Gets or sets a value indicating whether this SelectExpression is DISTINCT. + + + true if this SelectExpression is distinct, false if not. + + + + + Gets or sets the LIMIT of this SelectExpression. + + + The limit. + + + + + Gets or sets the OFFSET of this SelectExpression. + + + The offset. + + + + + Creates a subquery based on this SelectExpression and makes that table the single entry in + . Clears all other top-level aspects of this SelectExpression. + + + A SelectExpression. + + + + + The projection of this SelectExpression. + + + + + Adds a column to the projection. + + The column name. + The corresponding EF property. + The originating query source. + + The corresponding index of the added expression in . + + + + + Adds an expression to the projection. + + The expression. + + The corresponding index of the added expression in . + + + + + Adds an expression to the projection. + + The expression. + true to reset the value of . + + The corresponding index of the added expression in . + + + + + Adds an to the projection. + + The alias expression. + + The corresponding index of the added expression in . + + + + + Adds an expression with an alias to the projection. + + The alias. + The expression. + + The corresponding index of the added expression in . + + + + + Adds a ColumnExpression to the projection. + + The column expression. + + The corresponding index of the added expression in . + + + + + Gets the types of the expressions in . + + + The types of the expressions in . + + + + + Sets a as the single projected expression + in this SelectExpression. + + The conditional expression. + + + + Sets an expression as the single projected expression in this SelectExpression. + + The expression. + + + + Clears the projection. + + + + + Clears the column expressions from the projection. + + + + + Removes a range from the projection. + + Zero-based index of the start of the range to remove. + + + + Removes expressions from the projection corresponding to the + supplied expressions. + + The Orderings to remove from the projection. + + + + Computes the index in corresponding to the supplied property and query source. + + The corresponding EF property. + The originating query source. + + The projection index. + + + + + Adds a column to the ORDER BY of this SelectExpression. + + The column name. + The corresponding EF property. + The target table. + The ordering direction. + + An AliasExpression corresponding to the expression added to the ORDER BY. + + + + + Adds multiple expressions to the ORDER BY of this SelectExpression. + + The orderings expressions. + + + + Adds a single to the order by. + + The ordering. + + + + Prepends multiple ordering expressions to the ORDER BY of this SelectExpression. + + The orderings expressions. + + + + The SQL ORDER BY of this SelectExpression. + + + + + Clears the ORDER BY of this SelectExpression. + + + + + Transforms the projection of this SelectExpression by expanding the wildcard ('*') projection + into individual explicit projection expressions. + + + + + Adds a SQL CROSS JOIN to this SelectExpression. + + The target table expression. + A sequence of expressions that should be added to the projection. + + + + Adds a SQL LATERAL JOIN to this SelectExpression. + + The target table expression. + A sequence of expressions that should be added to the projection. + + + + Adds a SQL INNER JOIN to this SelectExpression. + + The target table expression. + + + + Adds a SQL INNER JOIN to this SelectExpression. + + The target table expression. + A sequence of expressions that should be added to the projection. + + + + Adds a SQL LEFT OUTER JOIN to this SelectExpression. + + The target table expression. + + + + Adds a SQL LEFT OUTER JOIN to this SelectExpression. + + The target table expression. + A sequence of expressions that should be added to the projection. + + + + Removes a table from this SelectExpression. + + The table expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Creates the default query SQL generator. + + + The new default query SQL generator. + + + + + Creates the FromSql query SQL generator. + + The SQL. + The arguments. + + The new FromSql query SQL generator. + + + + + Convert this object into a string representation. + + + A string that represents this object. + + + + + Updates the table expression of any column expressions in the target expression. + + The target expression. + The new table expression. + + An updated expression. + + + + + A SelectExpression factory. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.SelectExpressionFactory class. + + The query SQL generator factory. + + + + Creates a new SelectExpression. + + Context for the query compilation. + + A SelectExpression. + + + + + Creates a new SelectExpression. + + Context for the query compilation. + The alias of this SelectExpression. + + A SelectExpression. + + + + + Represents a SQL function call expression. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.SqlFunctionExpression class. + + Name of the function. + The return type. + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.SqlFunctionExpression class. + + Name of the function. + The return type. + The arguments. + + + + Gets the name of the function. + + + The name of the function. + + + + + The arguments. + + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL string comparison expression. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.StringCompareExpression class. + + The comparison operation. + The left operand. + The right operand. + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Gets the comparison operator. + + + The comparison operator. + + + + + Gets the left operand. + + + The left operand. + + + + + Gets the right operand. + + + The right operand. + + + + + Dispatches to the specific visit method for this node type. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + Represents a SQL SUM expression. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.SumExpression class. + + The expression. + + + + Dispatches to the specific visit method for this node type. + + + + + Represents a SQL table expression. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.TableExpression class. + + The table name. + The schema name. + The alias. + The query source. + + + + Gets the table name. + + + The table name. + + + + + Gets the schema name. + + + The schema name. + + + + + Dispatches to the specific visit method for this node type. + + + + + Creates a representation of the Expression. + + A representation of the Expression. + + + + A base class for SQL table expressions. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.Expressions.TableExpressionBase class. + + The query source. + The alias. + + + + Returns the node type of this . (Inherited from .) + + The that represents this expression. + + + + Gets the static type of the expression that this represents. (Inherited from .) + + The that represents the static type of the expression. + + + + Gets the query source. + + + The query source. + + + + + Gets the alias. + + + The alias. + + + + + Reduces the node and then calls the method passing the + reduced expression. + Throws an exception if the node isn't reducible. + + An instance of . + The expression being visited, or an expression which should replace it in the tree. + + Override this method to provide logic to walk the node's children. + A typical implementation will call visitor.Visit on each of its + children, and if any of them change, should return a new copy of + itself with the modified children. + + + + + A LINQ expression translator for arbitrary CLR expression fragments. + + + + + Translates the given expression. + + The expression. + + A SQL expression representing the translated expression. + + + + + A LINQ expression translator for CLR expressions. + + + + + Translates the given member expression. + + The member expression. + + A SQL expression representing the translated MemberExpression. + + + + + A LINQ expression translator for CLR expressions. + + + + + Translates the given method call expression. + + The method call expression. + + A SQL expression representing the translated MethodCallExpression. + + + + + A base LINQ expression translator for CLR expressions that + have multiple overloads. + + + + + Specialised constructor for use only by derived class. + + The declaring type of the method. + Name of the method. + The name of the target SQL function. + + + + Translates the given method call expression. + + The method call expression. + + A SQL expression representing the translated MethodCallExpression. + + + + + A base LINQ expression translator for CLR expressions that + are instance methods and do not take arguments. + + + + + Specialised constructor for use only by derived class. + + The declaring type of the method. + Name of the method. + The name of the target SQL function. + + + + Translates the given method call expression. + + The method call expression. + + A SQL expression representing the translated MethodCallExpression. + + + + + A composite expression fragment translator that dispatches to multiple specialized + fragment translators. + + + + + Translates the given expression. + + The expression to translate. + + A SQL expression representing the translated expression. + + + + + Adds additional translators to the dispatch list. + + The translators. + + + + A base composite member translator that dispatches to multiple specialized + member translators. + + + + + Translates the given member expression. + + The member expression. + + A SQL expression representing the translated MemberExpression. + + + + + Adds additional translators to the dispatch list. + + The translators. + + + + A base composite method call translator that dispatches to multiple specialized + method call translators. + + + + + Specialised constructor for use only by derived class. + + A logger. + + + + Translates the given method call expression. + + The method call expression. + + A SQL expression representing the translated MethodCallExpression. + + + + + Adds additional translators to the dispatch list. + + The translators. + + + + A base LINQ expression translator for CLR expressions that + are static and are not overloaded. + + + + + Specialised constructor for use only by derived class. + + The declaring type of the method. + Name of the method. + The name of the target SQL function. + + + + Translates the given method call expression. + + The method call expression. + + A SQL expression representing the translated MethodCallExpression. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Factory for creating instances of . + + + + + Creates a new SqlTranslatingExpressionVisitor. + + The query model visitor. + The target select expression. + The top level predicate. + true to bind parent queries. + true if we are translating a projection. + + A SqlTranslatingExpressionVisitor. + + + + + A visitor that performs basic relational query translation of EF query roots. + + + + + Creates a new instance of . + + The model. + The select expression factory. + The materializer factory. + The shaper command context factory. + The relational annotation provider. + The query model visitor. + The query source. + + + + Visit a sub-query expression. + + The expression. + + An Expression corresponding to the translated sub-query. + + + + + Visit a member expression. + + The expression to visit. + + An Expression corresponding to the translated member. + + + + + Visit a method call expression. + + The expression to visit. + + An Expression corresponding to the translated method call. + + + + + Visit an entity query root. + + The CLR type of the entity root. + + An Expression corresponding to the translated entity root. + + + + + A factory for creating instances of . + + + + + Creates a new instance of . + + The model. + The select expression factory. + The materializer factory. + The shaper command context factory. + The relational annotation provider. + + + + Creates a new ExpressionVisitor. + + The query model visitor. + The query source. + + An ExpressionVisitor. + + + + + An expression visitor for translating relational LINQ query projections. + + + + + Creates a new instance of . + + The SQL translating expression visitor factory. + The entity materializer source. + The query model visitor. + The query source. + + + + Visit a method call expression. + + The expression to visit. + + An Expression corresponding to the translated method call. + + + + + Visit a new expression. + + The expression to visit. + + An Expression corresponding to the translated new expression. + + + + + Visits the given node. + + The expression to visit. + + An Expression to the translated input expression. + + + + + A factory for creating instances of . + + + + + Creates a new instance of . + + The SQL translating expression visitor factory. + The entity materializer source. + + + + Creates a new ExpressionVisitor. + + The query model visitor. + The query source. + + An ExpressionVisitor. + + + + + The default relational LINQ translating expression visitor. + + + + + Creates a new instance of . + + The relational annotation provider. + The composite expression fragment translator. + The method call translator. + The member translator. + The relational type mapper. + The query model visitor. + The target select expression. + The top level predicate. + true to bind parent queries. + true if the expression to be translated is a LINQ projection. + + + + When translating a predicate expression, returns a client expression corresponding + to the part of the target expression that should be evaluated locally. + + + The client eval predicate. + + + + + Visits the given expression. + + The expression to visit. + + An Expression. + + + + + Visit a binary expression. + + The expression to visit. + + An Expression. + + + + + Visits a conditional expression. + + The expression to visit. + + An Expression. + + + + + Visits a method call expression. + + The expression to visit. + + An Expression. + + + + + Visit a member expression. + + The expression to visit. + + An Expression. + + + + + Visit a unary expression. + + The expression to visit. + + An Expression. + + + + + Visits a new expression. + + The expression to visit. + + An Expression. + + + + + Visits a sub-query expression. + + The expression to visit. + + An Expression. + + + + + Visits a constant expression. + + The expression to visit. + + An Expression. + + + + + Visits a parameter expression. + + The expression to visit. + + An Expression. + + + + + Visits an extension expression. + + The expression to visit. + + An Expression. + + + + + Visits a query source reference expression. + + The expression to visit. + + An Expression. + + + + + Called when an unhandled item is visited. This method provides the item the visitor cannot handle (), + the that is not implemented in the visitor, and a delegate that can be used to invoke the + of the class. The default behavior of + this method is to call the + method, but it can + be overridden to do something else. + + + The type of the item that could not be handled. Either an type, a + + type, or . + + The result type expected for the visited . + The unhandled item. + The visit method that is not implemented. + The behavior exposed by for this item type. + An object to replace in the expression tree. Alternatively, the method can throw any exception. + + + + Creates an unhandled item exception. + + Generic type parameter. + The unhandled item. + The visit method that is not implemented. + + The new unhandled item exception. + + + + + A factory for creating instances of . + + + + + Creates a new instance of . + + The relational annotation provider. + The composite expression fragment translator. + The method call translator. + The member translator. + The relational type mapper. + + + + Creates a new SqlTranslatingExpressionVisitor. + + The query model visitor. + The target select expression. + The top level predicate. + true to bind parent queries. + true if we are translating a projection. + + A SqlTranslatingExpressionVisitor. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The execution strategy factory. + + + The execution strategy factory. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The default query SQL generator. + + + + + Creates a new instance of . + + The relational command builder factory. + The SQL generation helper. + The parameter name generator factory. + The relational type mapper. + The select expression. + + + + Gets or sets a value indicating whether this SQL query is cacheable. + + + true if this SQL query is cacheable, false if not. + + + + + Gets the select expression. + + + The select expression. + + + + + Gets the SQL generation helper. + + + The SQL generation helper. + + + + + Gets the parameter values. + + + The parameter values. + + + + + Generates SQL for the given parameter values. + + The parameter values. + + A relational command. + + + + + Creates a relational value buffer factory. + + The relational value buffer factory. + The data reader. + + The new value buffer factory. + + + + + The generated SQL. + + + + + The default string concatenation operator SQL. + + + + + The default true literal SQL. + + + + + The default false literal SQL. + + + + + Visit a top-level SelectExpression. + + The select expression. + + An Expression. + + + + + Visit the projection. + + The projection expression. + + + + Generates the ORDER BY SQL. + + The orderings. + + + + Generates a single ordering in an SQL ORDER BY clause. + + The ordering. + + + + Visit a FromSqlExpression. + + The FromSql expression. + + An Expression. + + + + + Generate SQL corresponding to a FromSql query. + + The FromSql SQL query. + The arguments. + The parameters for this query. + + + + Visit a TableExpression. + + The table expression. + + An Expression. + + + + + Visit a CrossJoin expression. + + The cross join expression. + + An Expression. + + + + + Visit a LateralJoin expression. + + The lateral join expression. + + An Expression. + + + + + Visit a CountExpression + + The count expression. + + An Expression. + + + + + Visit a SumExpression. + + The sum expression. + + An Expression. + + + + + Visit a MinExpression. + + The min expression. + + An Expression. + + + + + Visit a MaxExpression. + + The max expression. + + An Expression. + + + + + Visit a StringCompareExpression. + + The string compare expression. + + An Expression. + + + + + Visit an InExpression. + + The in expression. + + An Expression. + + + + + Visit a negated InExpression. + + The in expression. + + An Expression. + + + + + Process the InExpression values. + + The in expression values. + + A list of expressions. + + + + + Extracts the non null expression values from a list of expressions. + + The list of expressions. + + The extracted non null expression values. + + + + + Visit an InnerJoinExpression. + + The inner join expression. + + An Expression. + + + + + Visit an LeftOuterJoinExpression. + + The left outer join expression. + + An Expression. + + + + + Generates the TOP part of the SELECT statement, + + The select expression. + + + + Generates the LIMIT OFFSET part of the SELECT statement, + + The select expression. + + + + Visit a ConditionalExpression. + + The conditional expression to visit. + + An Expression. + + + + + Visit an ExistsExpression. + + The exists expression. + + An Expression. + + + + + Visit a BinaryExpression. + + The binary expression to visit. + + An Expression. + + + + + Visits a ColumnExpression. + + The column expression. + + An Expression. + + + + + Visits an AliasExpression. + + The alias expression. + + An Expression. + + + + + Visits an IsNullExpression. + + The is null expression. + + An Expression. + + + + + Visits an IsNotNullExpression. + + The is not null expression. + + An Expression. + + + + + Visit a LikeExpression. + + The like expression. + + An Expression. + + + + + Visits a SqlFunctionExpression. + + The SQL function expression. + + An Expression. + + + + + Visit a SQL ExplicitCastExpression. + + The explicit cast expression. + + An Expression. + + + + + Visits a UnaryExpression. + + The unary expression to visit. + + An Expression. + + + + + Visits a ConstantExpression. + + The constant expression to visit. + + An Expression. + + + + + Visits a ParameterExpression. + + The parameter expression to visit. + + An Expression. + + + + + Visits a PropertyParameterExpression. + + The property parameter expression. + + An Expression. + + + + + Infers a type mapping from a column expression. + + The expression to infer a type mapping for. + + A RelationalTypeMapping. + + + + + Attempts to generate binary operator for a given expression type. + + The operation. + [out] The SQL binary operator. + + true if it succeeds, false if it fails. + + + + + Generates SQL for a given binary operation type. + + The operation. + + The binary operator. + + + + + Generates an SQL operator for a given expression. + + The expression. + + The operator. + + + + + Creates unhandled item exception. + + Generic type parameter. + The unhandled item. + The visit method. + + The new unhandled item exception. + + + + + A relational SQL generator. + + + + + Generates SQL for the given parameter values. + + The parameter values. + + The SQL. + + + + + Gets a value indicating whether the generated SQL is cacheable. + + + true if the generated SQL is cacheable, false if not. + + + + + Creates value buffer factory corresponding to the generated query. + + The relational value buffer factory. + The data reader. + + The new value buffer factory. + + + + + A factory for instances of . + + + + + Creates the default SQL generator. + + The select expression. + + The new default. + + + + + Creates a FromSql SQL generator. + + The select expression. + The SQL. + The arguments. + + The new from SQL. + + + + + Expression visitor dispatch methods for extension expressions. + + + + + Visit a ColumnExpression. + + The column expression. + + An Expression. + + + + + Visit an AliasExpression. + + The alias expression. + + An Expression. + + + + + Visit an IsNullExpression. + + The is null expression. + + An Expression. + + + + + Visit a LikeExpression. + + The like expression. + + An Expression. + + + + + Visit a SelectExpression. + + The select expression. + + An Expression. + + + + + Visit a TableExpression. + + The table expression. + + An Expression. + + + + + Visit a FromSqlExpression. + + from SQL expression. + + An Expression. + + + + + Visit a CrossJoinExpression. + + The cross join expression. + + An Expression. + + + + + Visit a LateralJoinExpression. + + The lateral join expression. + + An Expression. + + + + + Visit an InnerJoinExpression. + + The inner join expression. + + An Expression. + + + + + Visit a LeftOuterJoinExpression. + + The left outer join expression. + + An Expression. + + + + + Visits an ExistsExpression. + + The exists expression. + + An Expression. + + + + + Visit a CountExpression. + + The count expression. + + An Expression. + + + + + Visit a SumExpression. + + The sum expression. + + An Expression. + + + + + Visit a MinExpression. + + The minimum expression. + + An Expression. + + + + + Visit a MaxExpression. + + The maximum expression. + + An Expression. + + + + + Visit an InExpression. + + The in expression. + + An Expression. + + + + + Visit a SqlFunctionExpression. + + The SQL function expression. + + An Expression. + + + + + Visit a StringCompareExpression. + + The string compare expression. + + An Expression. + + + + + Visit an ExplicitCastExpression. + + The explicit cast expression. + + An Expression. + + + + + Visit a PropertyParameterExpression. + + The property parameter expression. + + An Expression. + + + + + A base class for query SQL generators. + + + + + Specialised constructor for use only by derived class. + + The command builder factory. + The SQL generation helper. + The parameter name generator factory. + The relational type mapper. + + + + Gets the command builder factory. + + + The command builder factory. + + + + + Gets the SQL generation helper. + + + The SQL generation helper. + + + + + Gets the parameter name generator factory. + + + The parameter name generator factory. + + + + + Gets the relational type mapper. + + + The relational type mapper. + + + + + Creates a default query SQL generator. + + The select expression. + + The new default query SQL generator. + + + + + Creates a query SQL generator for a FromSql query. + + The select expression. + The SQL. + The arguments. + + The query SQL generator. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + A for providers which append an SQL query to find out + how many rows were affected (see ). + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.dll b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.dll new file mode 100644 index 0000000..9ffae26 Binary files /dev/null and b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.dll differ diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.xml b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.xml new file mode 100644 index 0000000..903eb9a --- /dev/null +++ b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.Design.xml @@ -0,0 +1,173 @@ + + + + Microsoft.EntityFrameworkCore.Sqlite.Design + + + + + Values that are used as the eventId when logging messages from the SQLite Design Entity Framework Core + components. + + + + + Column name empty on index. + + + + + Principal column not found. + + + + + Using schema selections warning. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Tests whether the table is allowed by the and + updates the 's (s) + to mark that they have been matched. + + the to test + name of the database table to check + whether or not the table is allowed + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Found a column on index {indexName} on table {tableName} with an empty or null name. Not including column in index. + + + + + Found column on table: {tableName}, column name: {columnName}, data type: {dataType}, ordinal: {ordinal}, not nullable: {isNotNullable}, primary key ordinal: {primaryKeyOrdinal}, default value: {defaultValue}. + + + + + Found foreign key column on table: {tableName}, id: {id}, principal table: {principalTableName}, column name: {columnName}, principal column name: {principalColumnName}, delete action: {deleteAction}, ordinal: {ordinal}. + + + + + Found index with name: {indexName}, table: {tableName}, is unique: {isUnique}. + + + + + Found index column on index {indexName} on table {tableName}, column name: {columnName}, ordinal: {ordinal}. + + + + + Found table with name: {name}. + + + + + For foreign key with identity {id} on table {tableName}, unable to find the column called {principalColumnName} on the foreign key's principal table, {principalTableName}. Skipping foreign key. + + + + + For foreign key with identity {id} on table {tableName}, unable to find the principal table {principalTableName}. Either the principal table is missing from the database or it was not included in the selection set. Skipping foreign key. + + + + + Table {tableName} is not included in the selection set. Skipping. + + + + + Scaffolding from a SQLite database will ignore any schema selection arguments. + + + + diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.dll b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.dll new file mode 100644 index 0000000..b3428f5 Binary files /dev/null and b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.dll differ diff --git a/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.xml b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.xml new file mode 100644 index 0000000..32fe48a --- /dev/null +++ b/bin/Release/Microsoft.EntityFrameworkCore.Sqlite.xml @@ -0,0 +1,1034 @@ + + + + Microsoft.EntityFrameworkCore.Sqlite + + + + + SQLite specific extension methods for . + + + + + Configures the context to connect to a SQLite database. + + The builder being used to configure the context. + The connection string of the database to connect to. + An optional action to allow additional SQLite specific configuration. + The options builder so that further configuration can be chained. + + + + Configures the context to connect to a SQLite database. + + The builder being used to configure the context. + + An existing to be used to connect to the database. If the connection is + in the open state then EF will not open or close the connection. If the connection is in the closed + state then EF will open and close the connection as needed. + + An optional action to allow additional SQLite specific configuration. + The options builder so that further configuration can be chained. + + + + Configures the context to connect to a SQLite database. + + The type of context to be configured. + The builder being used to configure the context. + The connection string of the database to connect to. + An optional action to allow additional SQLite specific configuration. + The options builder so that further configuration can be chained. + + + + Configures the context to connect to a SQLite database. + + The type of context to be configured. + The builder being used to configure the context. + + An existing to be used to connect to the database. If the connection is + in the open state then EF will not open or close the connection. If the connection is in the closed + state then EF will open and close the connection as needed. + + An optional action to allow additional SQLite specific configuration. + The options builder so that further configuration can be chained. + + + + + Allows SQLite specific configuration to be performed on . + + + Instances of this class are returned from a call to + + and it is not designed to be directly constructed in your application code. + + + + + + Initializes a new instance of the class. + + The options builder. + + + + Clones the configuration in this builder. + + The cloned configuration. + + + + Suppresses enforcement of foreign keys in the database. + + The same builder instance so that multiple calls can be chained. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + SQLite specific extension methods for metadata. + + + + + Gets the SQLite specific metadata for an entity. + + The entity to get metadata for. + The SQLite specific metadata for the entity. + + + + Gets the SQLite specific metadata for an entity. + + The entity to get metadata for. + The SQLite specific metadata for the entity. + + + + Gets the SQLite specific metadata for a foreign key. + + The entity to get metadata for. + The SQLite specific metadata for the foreign key. + + + + Gets the SQLite specific metadata for a foreign key. + + The entity to get metadata for. + The SQLite specific metadata for the foreign key. + + + + Gets the SQLite specific metadata for an index. + + The index to get metadata for. + The SQLite specific metadata for the index. + + + + Gets the SQLite specific metadata for an index. + + The index to get metadata for. + The SQLite specific metadata for the index. + + + + Gets the SQLite specific metadata for a key. + + The key to get metadata for. + The SQLite specific metadata for the key. + + + + Gets the SQLite specific metadata for a key. + + The key to get metadata for. + The SQLite specific metadata for the key. + + + + Gets the SQLite specific metadata for a model. + + The model to get metadata for. + The SQLite specific metadata for the model. + + + + Gets the SQLite specific metadata for a model. + + The model to get metadata for. + The SQLite specific metadata for the model. + + + + Gets the SQLite specific metadata for a property. + + The property to get metadata for. + The SQLite specific metadata for the property. + + + + Gets the SQLite specific metadata for a property. + + The property to get metadata for. + The SQLite specific metadata for the property. + + + + SQLite specific extension methods for . + + + + + Configures the table that the entity maps to when targeting SQLite. + + The builder for the entity type being configured. + The name of the table. + The same builder instance so that multiple calls can be chained. + + + + Configures the table that the entity maps to when targeting SQLite. + + The entity type being configured. + The builder for the entity type being configured. + The name of the table. + The same builder instance so that multiple calls can be chained. + + + + SQLite specific extension methods for . + + + + + Configures the name of the index in the database when targeting SQLite. + + The builder for the index being configured. + The name of the index. + The same builder instance so that multiple calls can be chained. + + + + SQLite specific extension methods for . + + + + + Configures the name of the key constraint in the database when targeting SQLite. + + The builder for the key being configured. + The name of the key. + The same builder instance so that multiple calls can be chained. + + + + SQLite specific extension methods for . + + + + + Configures the column that the property maps to when targeting SQLite. + + The builder for the property being configured. + The name of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the column that the property maps to when targeting SQLite. + + The type of the property being configured. + The builder for the property being configured. + The name of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the data type of the column that the property maps to when targeting SQLite. + + The builder for the property being configured. + The name of the data type of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the data type of the column that the property maps to when targeting SQLite. + + The type of the property being configured. + The builder for the property being configured. + The name of the data type of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value expression for the column that the property maps to when targeting SQLite. + + The builder for the property being configured. + The SQL expression for the default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value expression for the column that the property maps to when targeting SQLite. + + The type of the property being configured. + The builder for the property being configured. + The SQL expression for the default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value for the column that the property maps to when targeting SQLite. + + The builder for the property being configured. + The default value of the column. + The same builder instance so that multiple calls can be chained. + + + + Configures the default value for the column that the property maps to when targeting SQLite. + + The type of the property being configured. + The builder for the property being configured. + The default value of the column. + The same builder instance so that multiple calls can be chained. + + + + SQLite specific extension methods for . + + + + + Configures the foreign key constraint name for this relationship when targeting SQLite. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + + + + Configures the foreign key constraint name for this relationship when targeting SQLite. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + The principal entity type in this relationship. + The dependent entity type in this relationship. + + + + SQLite specific extension methods for . + + + + + Configures the foreign key constraint name for this relationship when targeting SQLite. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + + + + Configures the foreign key constraint name for this relationship when targeting SQLite. + + The builder being used to configure the relationship. + The name of the foreign key constraint. + The same builder instance so that multiple calls can be chained. + The entity type on one end of the relationship. + The entity type on the other end of the relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + SQLite does not support this migration operation ('{operation}'). For more information, see http://go.microsoft.com/fwlink/?LinkId=723262. + + + + + Generating idempotent scripts for migration is not currently supported by SQLite. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262. + + + + + SQLite does not support schemas. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262. + + + + + SQLite does not support sequences. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + SQLite specific extension methods for . + + + + + + Adds the services required by the SQLite database provider for Entity Framework + to an . You use this method when using dependency injection + in your application, such as with ASP.NET. For more information on setting up dependency + injection, see http://go.microsoft.com/fwlink/?LinkId=526890. + + + You only need to use this functionality when you want Entity Framework to resolve the services it uses + from an external dependency injection container. If you are not using an external + dependency injection container, Entity Framework will take care of creating the services it requires. + + + + + public void ConfigureServices(IServiceCollection services) + { + var connectionString = "connection string to database"; + + services + .AddEntityFrameworkSqlite() + .AddDbContext<MyContext>((serviceProvider, options) => + options.UseSqlite(connectionString) + .UseInternalServiceProvider(serviceProvider)); + } + + + The to add services to. + + The same service collection so that multiple calls can be chained. + + + + diff --git a/bin/Release/Microsoft.EntityFrameworkCore.dll b/bin/Release/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..d84594a Binary files /dev/null and b/bin/Release/Microsoft.EntityFrameworkCore.dll differ diff --git a/bin/Release/Microsoft.EntityFrameworkCore.xml b/bin/Release/Microsoft.EntityFrameworkCore.xml new file mode 100644 index 0000000..1b8d035 --- /dev/null +++ b/bin/Release/Microsoft.EntityFrameworkCore.xml @@ -0,0 +1,27645 @@ + + + + Microsoft.EntityFrameworkCore + + + + + A DbContext instance represents a session with the database and can be used to query and save + instances of your entities. DbContext is a combination of the Unit Of Work and Repository patterns. + + + + Typically you create a class that derives from DbContext and contains + properties for each entity in the model. If the properties have a public setter, + they are automatically initialized when the instance of the derived context is created. + + + Override the method to configure the database (and + other options) to be used for the context. Alternatively, if you would rather perform configuration externally + instead of inline in your context, you can use + (or ) to externally create an instance of + (or ) and pass it to a base constructor of . + + + The model is discovered by running a set of conventions over the entity classes found in the + properties on the derived context. To further configure the model that + is discovered by convention, you can override the method. + + + + + + + Initializes a new instance of the class. The + + method will be called to configure the database (and other options) to be used for this context. + + + + + + + Initializes a new instance of the class using the specified options. + The method will still be called to allow further + configuration of the options. + + + The options for this context. + + + + + Gets the scoped being used to resolve services. + + + This property is intended for use by extension methods that need to make use of services + not directly exposed in the public API surface. + + + + + + + Override this method to configure the database (and other options) to be used for this context. + This method is called for each instance of the context that is created. + + + In situations where an instance of may or may not have been passed + to the constructor, you can use to determine if + the options have already been set, and skip some or all of the logic in + . + + + + A builder used to create or modify options for this context. Databases (and other extensions) + typically define extension methods on this object that allow you to configure the context. + + + + + Override this method to further configure the model that was discovered by convention from the entity types + exposed in properties on your derived context. The resulting model may be cached + and re-used for subsequent instances of your derived context. + + + If a model is explicitly set on the options for this context (via ) + then this method will not be run. + + + The builder being used to construct the model for this context. Databases (and other extensions) typically + define extension methods on this object that allow you to configure aspects of the model that are specific + to a given database. + + + + + Saves all changes made in this context to the database. + + + This method will automatically call to discover any + changes to entity instances before saving to the underlying database. This can be disabled via + . + + + The number of state entries written to the database. + + + + + Saves all changes made in this context to the database. + + + Indicates whether is called after the changes have + been sent successfully to the database. + + + This method will automatically call to discover any + changes to entity instances before saving to the underlying database. This can be disabled via + . + + + The number of state entries written to the database. + + + + + Asynchronously saves all changes made in this context to the database. + + + + This method will automatically call to discover any + changes to entity instances before saving to the underlying database. This can be disabled via + . + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains the + number of state entries written to the database. + + + + + Asynchronously saves all changes made in this context to the database. + + + Indicates whether is called after the changes have + been sent successfully to the database. + + + + This method will automatically call to discover any + changes to entity instances before saving to the underlying database. This can be disabled via + . + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains the + number of state entries written to the database. + + + + + Releases the allocated resources for this context. + + + + + Gets an for the given entity. The entry provides + access to change tracking information and operations for the entity. + + The type of the entity. + The entity to get the entry for. + The entry for the given entity. + + + + + Gets an for the given entity. The entry provides + access to change tracking information and operations for the entity. + + + This method may be called on an entity that is not tracked. You can then + set the property on the returned entry + to have the context begin tracking the entity in the specified state. + + + The entity to get the entry for. + The entry for the given entity. + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that + they will be inserted into the database when is called. + + The type of the entity. + The entity to add. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The type of the entity. + The entity to add. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous Add operation. The task result contains the + for the entity. The entry provides access to change tracking + information and operations for the entity. + + + + + + Begins tracking the given entity in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The type of the entity. + The entity to attach. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity in the state such that it will + be updated in the database when is called. + + + All properties of the entity will be marked as modified. To mark only some properties as modified, use + to begin tracking the entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The type of the entity. + The entity to update. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If the entity is already tracked in the state then the context will + stop tracking the entity (rather than marking it as ) since the + entity was previously added to the context and does not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The type of the entity. + The entity to remove. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entity to add. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entity to add. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous Add operation. The task result contains the + for the entity. The entry provides access to change tracking + information and operations for the entity. + + + + + + Begins tracking the given entity in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entity to attach. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity in the state such that it will + be updated in the database when is called. + + + All properties of the entity will be marked as modified. To mark only some properties as modified, use + to begin tracking the entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entity to update. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If the entity is already tracked in the state then the context will + stop tracking the entity (rather than marking it as ) since the + entity was previously added to the context and does not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entity to remove. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entities to add. + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entities to add. + A task that represents the asynchronous operation. + + + + + Begins tracking the given entities in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to attach. + + + + + Begins tracking the given entities in the state such that they will + be updated in the database when is called. + + + All properties of each entity will be marked as modified. To mark only some properties as modified, use + to begin tracking each entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to update. + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If any of the entities are already tracked in the state then the context will + stop tracking those entities (rather than marking them as ) since those + entities were previously added to the context and do not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entities to remove. + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entities to add. + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entities to add. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + + + Begins tracking the given entities in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to attach. + + + + + Begins tracking the given entities in the state such that they will + be updated in the database when is called. + + + All properties of each entity will be marked as modified. To mark only some properties as modified, use + to begin tracking each entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to update. + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If any of the entities are already tracked in the state then the context will + stop tracking those entities (rather than marking them as ) since those + entities were previously added to the context and do not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entities to remove. + + + + Provides access to database related information and operations for this context. + + + + + Provides access to information and operations for entity instances this context is tracking. + + + + + The metadata about the shape of entities, the relationships between them, and how they map to the database. + + + + + Creates a that can be used to query and save instances of . + + The type of entity for which a set should be returned. + A set for the given entity type. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + A to observe while waiting for the task to complete. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The type of entity to find. + The values of the primary key for the entity to be found. + A to observe while waiting for the task to complete. + The entity found, or null. + + + + The options to be used by a . You normally override + or use a + to create instances of this class and it is not designed to be directly constructed in your application code. + + + + + Initializes a new instance of the class. You normally override + or use a + to create instances of this class and it is not designed to be directly constructed in your application code. + + The extensions that store the configured options. + + + + Gets the extensions that store the configured options. + + + + + Gets the extension of the specified type. Returns null if no extension of the specified type is configured. + + The type of the extension to get. + The extension, or null if none was found. + + + + Gets the extension of the specified type. Throws if no extension of the specified type is configured. + + The type of the extension to get. + The extension. + + + + Adds the given extension to the options. + + The type of extension to be added. + The extension to be added. + The same options instance so that multiple calls can be chained. + + + + The type of context that these options are for. Will return if the + options are not built for a specific derived context. + + + + + + Provides a simple API surface for configuring . Databases (and other extensions) + typically define extension methods on this object that allow you to configure the database connection (and other + options) to be used for a context. + + + You can use to configure a context by overriding + or creating a + externally and passing it to the context constructor. + + + + + + Initializes a new instance of the class with no options set. + + + + + Initializes a new instance of the class to further configure + a given . + + The options to be configured. + + + + Gets the options being configured. + + + + + + Gets a value indicating whether any options have been configured. + + + This can be useful when you have overridden to configure + the context, but in some cases you also externally provide options via the context constructor. This property can be + used to determine if the options have already been set, and skip some or all of the logic in + . + + + + + + Sets the model to be used for the context. If the model is set, then + will not be run. + + The model to be used. + The same builder instance so that multiple calls can be chained. + + + + Sets the that will be used to create instances + for logging done by this context. + + The logger factory to be used. + The same builder instance so that multiple calls can be chained. + + + + Sets the to be used for query caching by this context. EF will + create and manage a memory cache if none is specified. + + The memory cache to be used. + The same builder instance so that multiple calls can be chained. + + + + + Sets the that the context should resolve all of its services from. EF will + create and manage a service provider if none is specified. + + + The service provider must contain all the services required by Entity Framework (and the database being + used). The Entity Framework services can be registered using the + + method. Most databases also provide an extension method on to register the + services required. For example, the Microsoft SQL Server provider includes an AddEntityFrameworkSqlServer() method + to add the required services. + + + If the has a or + registered, then this will be used as the options for + this context instance. + + + The service provider to be used. + The same builder instance so that multiple calls can be chained. + + + + Enables application data to be included in exception messages, logging, etc. This can include the values assigned to properties + of your entity instances, parameter values for commands being sent to the database, and other such data. You should only enable + this flag if you have the appropriate security measures in place based on the sensitivity of this data. + + The same builder instance so that multiple calls can be chained. + + + + + Sets the tracking behavior for LINQ queries run against the context. Disabling change tracking + is useful for read-only scenarios because it avoids the overhead of setting up change tracking for each + entity instance. You should not disable change tracking if you want to manipulate entity instances and + persist those changes to the database using . + + + This method sets the default behavior for all contexts created with these options, but you can override this + behavior for a context instance using or on individual + queries using the + and methods. + + + The default value is . This means the change tracker will + keep track of changes for all entities that are returned from a LINQ query. + + + + + + Configures the runtime behavior of warnings generated by Entity Framework. You can set a default behavior and behaviors for + each warning type. + + + + optionsBuilder.ConfigureWarnings(warnings => + warnings.Default(WarningBehavior.Ignore) + .Log(CoreEventId.IncludeIgnoredWarning, CoreEventId.ModelValidationWarning) + .Throw(RelationalEventId.QueryClientEvaluationWarning)) + + + + An action to configure the warning behavior. + + The same builder instance so that multiple calls can be chained. + + + + + Replaces the internal Entity Framework implementation of a service contract with a different + implementation. + + + This method can only be used when EF is building and managing its internal service provider. + If the service provider is being built externally and passed to + , then replacement services should be configured on + that service provider before it is passed to EF. + + + The replacement service gets the same scope as the EF service that it is replacing. + + + The type (usually an interface) that defines the contract of the service to replace. + The new implementation type for the service. + The same builder instance so that multiple calls can be chained. + + + + + Adds the given extension to the options. If an existing extension of the same type already exists, it will be replaced. + + + This method is intended for use by extension methods to configure the context. It is not intended to be used in + application code. + + + The type of extension to be added. + The extension to be added. + + + + + Provides a simple API surface for configuring . Databases (and other extensions) + typically define extension methods on this object that allow you to configure the database connection (and other + options) to be used for a context. + + + You can use to configure a context by overriding + or creating a + externally and passing it to the context constructor. + + + The type of context to be configured. + + + + Initializes a new instance of the class with no options set. + + + + + Initializes a new instance of the class to further configure + a given . + + The options to be configured. + + + + Gets the options being configured. + + + + + Sets the model to be used for the context. If the model is set, then + will not be run. + + The model to be used. + The same builder instance so that multiple calls can be chained. + + + + Sets the used for logging information from the context. + + The to be used. + The same builder instance so that multiple calls can be chained. + + + + Sets the used to cache information such as query translations. If none is specified, then + Entity Framework will maintain its own internal . + + The to be used. + The same builder instance so that multiple calls can be chained. + + + + Sets the that the context will resolve its internal services from. If none is specified, then + Entity Framework will maintain its own internal . By default, we recommend allowing Entity Framework + to create and maintain its own for internal services. + + The to be used. + The same builder instance so that multiple calls can be chained. + + + + Enables application data to be included in exception messages, logging, etc. This can include the values assigned to properties + of your entity instances, parameter values for commands being sent to the database, and other such data. You should only enable + this flag if you have the appropriate security measures in place based on the sensitivity of this data. + + The same builder instance so that multiple calls can be chained. + + + + + Sets the tracking behavior for LINQ queries run against the context. Disabling change tracking + is useful for read-only scenarios because it avoids the overhead of setting up change tracking for each + entity instance. You should not disable change tracking if you want to manipulate entity instances and + persist those changes to the database using . + + + This method sets the default behavior for all contexts created with these options, but you can override this + behavior for a context instance using or on individual + queries using the + and methods. + + + The default value is . This means the change tracker will + keep track of changes for all entities that are returned from a LINQ query. + + + + + + Configures the runtime behavior of warnings generated by Entity Framework. You can set a default behavior and behaviors for + each warning type. + + + + optionsBuilder.ConfigureWarnings(warnings => + warnings.Default(WarningBehavior.Ignore) + .Log(CoreEventId.IncludeIgnoredWarning, CoreEventId.ModelValidationWarning) + .Throw(RelationalEventId.QueryClientEvaluationWarning)) + + + + An action to configure the warning behavior. + + The same builder instance so that multiple calls can be chained. + + + + + Replaces the internal Entity Framework implementation of a service contract with a different + implementation. + + + This method can only be used when EF is building and managing its internal service provider. + If the service provider is being built externally and passed to + , then replacement services should be configured on + that service provider before it is passed to EF. + + + The replacement service gets the same scope as the EF service that it is replacing. + + + The type (usually an interface) that defines the contract of the service to replace. + The new implementation type for the service. + The same builder instance so that multiple calls can be chained. + + + + The options to be used by a . You normally override + or use a + to create instances of this class and it is not designed to be directly constructed in your application code. + + The type of the context these options apply to. + + + + Initializes a new instance of the class. You normally override + or use a + to create instances of this class and it is not designed to be directly constructed in your application code. + + + + + Initializes a new instance of the class. You normally override + or use a + to create instances of this class and it is not designed to be directly constructed in your application code. + + The extensions that store the configured options. + + + + Adds the given extension to the options. + + The type of extension to be added. + The extension to be added. + The same options instance so that multiple calls can be chained. + + + + The type of context that these options are for (). + + + + + + A can be used to query and save instances of . + LINQ queries against a will be translated into queries against the database. + + + The results of a LINQ query against a will contain the results + returned from the database and may not reflect changes made in the context that have not + been persisted to the database. For example, the results will not contain newly added entities + and may still contain entities that are marked for deletion. + + + Depending on the database being used, some parts of a LINQ query against a + may be evaluated in memory rather than being translated into a database query. + + + objects are usually obtained from a + property on a derived or from the + method. + + + The type of entity being operated on by this set. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. + + + This local view will stay in sync as entities are added or removed from the context. Likewise, entities + added to or removed from the local view will automatically be added to or removed + from the context. + + + This property can be used for data binding by populating the set with data, for example by using the + extension method, + and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property. + + + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Finds an entity with the given primary key values. If an entity with the given primary key values + is being tracked by the context, then it is returned immediately without making a request to the + database. Otherwise, a query is made to the database for an entity with the given primary key values + and this entity, if found, is attached to the context and returned. If no entity is found, then + null is returned. + + The values of the primary key for the entity to be found. + A to observe while waiting for the task to complete. + The entity found, or null. + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entity to add. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entity to add. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous Add operation. The task result contains the + for the entity. The entry provides access to change tracking + information and operations for the entity. + + + + + + Begins tracking the given entity in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entity to attach. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If the entity is already tracked in the state then the context will + stop tracking the entity (rather than marking it as ) since the + entity was previously added to the context and does not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entity to remove. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + + Begins tracking the given entity in the state such that it will + be updated in the database when is called. + + + All properties of the entity will be marked as modified. To mark only some properties as modified, use + to begin tracking the entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entity to update. + + The for the entity. The entry provides + access to change tracking information and operations for the entity. + + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entities to add. + + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entities to add. + A task that represents the asynchronous operation. + + + + + Begins tracking the given entities in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to attach. + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If any of the entities are already tracked in the state then the context will + stop tracking those entities (rather than marking them as ) since those + entities were previously added to the context and do not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entities to remove. + + + + + Begins tracking the given entities in the state such that they will + be updated in the database when is called. + + + All properties of each entity will be marked as modified. To mark only some properties as modified, use + to begin tracking each entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to update. + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + The entities to add. + + + + + Begins tracking the given entities, and any other reachable entities that are + not already being tracked, in the state such that they will + be inserted into the database when is called. + + + This method is async only to allow special value generators, such as the one used by + 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', + to access the database asynchronously. For all other cases the non async method should be used. + + + The entities to add. + A to observe while waiting for the task to complete. + A task that represents the asynchronous operation. + + + + + Begins tracking the given entities in the state + such that no operation will be performed when + is called. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to attach. + + + + Begins tracking the given entity in the state such that it will + be removed from the database when is called. + + + + If any of the entities are already tracked in the state then the context will + stop tracking those entities (rather than marking them as ) since those + entities were previously added to the context and do not exist in the database. + + + Any other reachable entities that are not already being tracked will be tracked in the same way that + they would be if was called before calling this method. + This allows any cascading actions to be applied when is called. + + + The entities to remove. + + + + + Begins tracking the given entities in the state such that they will + be updated in the database when is called. + + + All properties of each entity will be marked as modified. To mark only some properties as modified, use + to begin tracking each entity in the + state and then use the returned to mark the desired properties as modified. + + + A recursive search of the navigation properties will be performed to find reachable entities + that are not already being tracked by the context. These entities will also begin to be tracked + by the context. If a reachable entity has its primary key value set + then it will be tracked in the state. If the primary key + value is not set then it will be tracked in the state. + An entity is considered to have its primary key value set if the primary key property is set + to anything other than the CLR default for the property type. + + + The entities to update. + + + + Returns an which when enumerated will execute a query against the database + to load all entities from the database. + + The query results. + + + + Returns an which when enumerated will execute a query against the database + to load all entities from the database. + + The query results. + + + + Returns an which when enumerated will asynchronously execute the query against + the database. + + The query results. + + + + Gets the IQueryable element type. + + + + + Gets the IQueryable LINQ Expression. + + + + + Gets the IQueryable provider. + + + + + + Gets the scoped being used to resolve services. + + + This property is intended for use by extension methods that need to make use of services + not directly exposed in the public API surface. + + + + + + + This method is called by data binding frameworks when attempting to data bind directly to a . + + + This implementation always throws an exception as binding directly to a will result in a query being + sent to the database every time the data binding framework requests the contents of the collection. Instead materialize the results + into a collection, by calling a method such as or + , and bind to the collection. + + + Always thrown. + Never returns, always throws an exception. + + + + Gets a value indicating whether the collection is a collection of System.Collections.IList objects. + Always returns false. + + + + + An exception that is thrown when a concurrency violation is encountered while saving to the database. A concurrency violation + occurs when an unexpected number of rows are affected during save. This is usually because the data in the database has + been modified since it was loaded into memory. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The entries that were involved in the concurrency violation. + + + + An exception that is thrown when an error is encountered while saving to the database. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The entries that were involved in the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The entries that were involved in the error. + The exception that is the cause of the current exception. + + + + Gets the entries that were involved in the error. Typically this is a single entry, but in some cases it + may be zero or multiple entries. + + + + + Static methods that are useful in application code where there is not an EF type for the method to be accessed from. For example, + referencing a shadow state property in a LINQ query. + + + + + Addresses a given property on an entity instance. This is useful when you want to reference a shadow state property in a + LINQ query. Currently this method can only be used in LINQ queries and can not be used to access the value assigned to a + property in other scenarios. + + + The following code performs a filter using the a LastUpdated shadow state property. + + var blogs = context.Blogs + .Where(b => EF.Property<DateTime>(b, "LastUpdated") > DateTime.Now.AddDays(-5)) + + + The type of the property being referenced. + The entity to access the property on. + The name of the property. + The value assigned to the property. + + + + Entity Framework LINQ related extension methods. + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified + predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified + predicate; otherwise, false. + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate + function. + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate + function. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + + Asynchronously returns the last element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the last element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the last element in . + + + + + Asynchronously returns the last element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the last element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the last element in that passes the test in + . + + + + + Asynchronously returns the last element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the last element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the last element in . + + + + + Asynchronously returns the last element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the last element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the last + element in that passes the test specified by . + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default ( + ) + if the sequence contains no elements. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the sum of the sequence of values that is obtained by invoking a projection function on + each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values.. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values of type . + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the projected values. + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + + Asynchronously creates a from an by enumerating it + asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Asynchronously creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Specifies related entities to include in the query results. The navigation property to be included is specified starting with the + type of entity being queried (). If you wish to include additional types based on the navigation + properties of the type being included, then chain a call to + + after this call. + + + + The following query shows including a single level of related entities. + + context.Blogs.Include(blog => blog.Posts); + + + + The following query shows including two levels of entities on the same branch. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags); + + + + The following query shows including multiple levels and branches of related data. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo) + .Include(blog => blog.Contributors); + + + + The type of entity being queried. + The type of the related entity to be included. + The source query. + + A lambda expression representing the navigation property to be included (t => t.Property1). + + + A new query with the related data included. + + + + + Specifies additional related data to be further included based on a related type that was just included. + + + + The following query shows including a single level of related entities. + + context.Blogs.Include(blog => blog.Posts); + + + + The following query shows including two levels of entities on the same branch. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags); + + + + The following query shows including multiple levels and branches of related data. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo) + .Include(blog => blog.Contributors); + + + + The type of entity being queried. + The type of the entity that was just included. + The type of the related entity to be included. + The source query. + + A lambda expression representing the navigation property to be included (t => t.Property1). + + + A new query with the related data included. + + + + + This method exists only for binary compatibility and is obsolete. Use + + instead. + + The type of entity being queried. + The type of the entity that was just included. + The type of the related entity to be included. + The source query. + + A lambda expression representing the navigation property to be included (t => t.Property1). + + + A new query with the related data included. + + + + + Specifies additional related data to be further included based on a related type that was just included. + + + + The following query shows including a single level of related entities. + + context.Blogs.Include(blog => blog.Posts); + + + + The following query shows including two levels of entities on the same branch. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags); + + + + The following query shows including multiple levels and branches of related data. + + context.Blogs + .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo) + .Include(blog => blog.Contributors); + + + + The type of entity being queried. + The type of the entity that was just included. + The type of the related entity to be included. + The source query. + + A lambda expression representing the navigation property to be included (t => t.Property1). + + + A new query with the related data included. + + + + + Specifies related entities to include in the query results. The navigation property to be included is + specified starting with the type of entity being queried (). Further + navigation properties to be included can be appended, separated by the '.' character. + + + + The following query shows including a single level of related entities. + + context.Blogs.Include("Posts"); + + + + The following query shows including two levels of entities on the same branch. + + context.Blogs.Include("Posts.Tags"); + + + + The following query shows including multiple levels and branches of related data. + + context.Blogs + .Include("Posts.Tags.TagInfo') + .Include("Contributors"); + + + + The type of entity being queried. + The source query. + A string of '.' separated navigation property names to be included. + A new query with the related data included. + + + + + Returns a new query where the change tracker will not track any of the entities that are returned. + If the entity instances are modified, this will not be detected by the change tracker and + will not persist those changes to the database. + + + Disabling change tracking is useful for read-only scenarios because it avoids the overhead of setting + up change tracking for each entity instance. You should not disable change tracking if you want to + manipulate entity instances and persist those changes to the database using + . + + + Identity resolution will still be performed to ensure that all occurrences of an entity with a given key + in the result set are represented by the same entity instance. + + + The default tracking behavior for queries can be controlled by . + + + The type of entity being queried. + The source query. + + A new query where the result set will not be tracked by the context. + + + + + + Returns a new query where the change tracker will keep track of changes for all entities that are returned. + Any modification to the entity instances will be detected and persisted to the database during + . + + + The default tracking behavior for queries can be controlled by . + + + The type of entity being queried. + The source query. + + A new query where the result set will not be tracked by the context. + + + + + Enumerates the query. When using Entity Framework, this causes the results of the query to + be loaded into the associated context. This is equivalent to calling ToList + and then throwing away the list (without the overhead of actually creating the list). + + The source query. + + + + Asynchronously enumerates the query. When using Entity Framework, this causes the results of the query to + be loaded into the associated context. This is equivalent to calling ToList + and then throwing away the list (without the overhead of actually creating the list). + + The source query. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it + asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it + asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it + asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it + asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + The state in which an entity is being tracked by a context. + + + + + The entity is not being tracked by the context. + + + + + The entity is being tracked by the context and exists in the database. Its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context and exists in the database. It has been marked + for deletion from the database. + + + + + The entity is being tracked by the context and exists in the database. Some or all of its + property values have been modified. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + + Provides a simple API surface for configuring a that defines the shape of your + entities, the relationships between them, and how they map to the database. + + + You can use to construct a model for a context by overriding + on your derived context. Alternatively you can create the + model externally and set it on a instance that is passed to the context constructor. + + + + + + Initializes a new instance of the class that will + apply a set of conventions. + + The conventions to be applied to the model. + + + + The model being configured. + + + + + Adds or updates an annotation on the model. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same instance so that multiple configuration calls can be chained. + + + + + The internal being used to configure this model. + + + This property is intended for use by extension methods to configure the model. It is not intended to be used in + application code. + + + + + + Returns an object that can be used to configure a given entity type in the model. + If the entity type is not already part of the model, it will be added to the model. + + The entity type to be configured. + An object that can be used to configure the entity type. + + + + Returns an object that can be used to configure a given entity type in the model. + If the entity type is not already part of the model, it will be added to the model. + + The entity type to be configured. + An object that can be used to configure the entity type. + + + + Returns an object that can be used to configure a given entity type in the model. + If an entity type with the provided name is not already part of the model, + a new entity type that does not have a corresponding CLR type will be added to the model. + + The name of the entity type to be configured. + An object that can be used to configure the entity type. + + + + + Performs configuration of a given entity type in the model. If the entity type is not already part + of the model, it will be added to the model. + + + This overload allows configuration of the entity type to be done in line in the method call rather + than being chained after a call to . This allows additional + configuration at the model level to be chained after configuration for the entity type. + + + The entity type to be configured. + An action that performs configuration of the entity type. + + The same instance so that additional configuration calls can be chained. + + + + + + Performs configuration of a given entity type in the model. If the entity type is not already part + of the model, it will be added to the model. + + + This overload allows configuration of the entity type to be done in line in the method call rather + than being chained after a call to . This allows additional + configuration at the model level to be chained after configuration for the entity type. + + + The entity type to be configured. + An action that performs configuration of the entity type. + + The same instance so that additional configuration calls can be chained. + + + + + + Performs configuration of a given entity type in the model. + If an entity type with the provided name is not already part of the model, + a new entity type that does not have a corresponding CLR type will be added to the model. + + + This overload allows configuration of the entity type to be done in line in the method call rather + than being chained after a call to . This allows additional + configuration at the model level to be chained after configuration for the entity type. + + + The name of the entity type to be configured. + An action that performs configuration of the entity type. + + The same instance so that additional configuration calls can be chained. + + + + + Excludes the given entity type from the model. This method is typically used to remove types from + the model that were added by convention. + + The entity type to be removed from the model. + + The same instance so that additional configuration calls can be chained. + + + + + Excludes the given entity type from the model. This method is typically used to remove types from + the model that were added by convention. + + The entity type to be removed from the model. + + The same instance so that additional configuration calls can be chained. + + + + + Configures the default to be used for this model. + This strategy indicates how the context detects changes to properties for an instance of an entity type. + + The change tracking strategy to be used. + + The same instance so that additional configuration calls can be chained. + + + + + + Sets the to use for all properties of this entity type. + + + By default, the backing field, if one is found by convention or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. Calling this method witll change that behavior + for all properties in the model as described in the enum. + + + The to use for properties of this model. + + The same instance so that additional configuration calls can be chained. + + + + + Indicates how the results of a query are tracked by the . + + + + + The change tracker will keep track of changes for all entities that are returned from a LINQ query. + Any modification to the entity instances will be detected and persisted to the database during + . + + + + + + The change tracker will not track any of the entities that are returned from a LINQ query. If the + entity instances are modified, this will not be detected by the change tracker and + will not persist those changes to the database. + + + Disabling change tracking is useful for read-only scenarios because it avoids the overhead of setting + up change tracking for each entity instance. You should not disable change tracking if you want to + manipulate entity instances and persist those changes to the database using + . + + + Identity resolution will still be performed to ensure that all occurrences of an entity with a given key + in the result set are represented by the same entity instance. + + + + + + The runtime behavior of warnings generated by Entity Framework + + + + + A warning is logged. + + + + + No action is taken. + + + + + An exception is thrown. + + + + + Provides access to change tracking information and operations for entity instances the context is tracking. + Instances of this class are typically obtained from and it is not designed + to be directly constructed in your application code. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Gets or sets a value indicating whether the method is called + automatically by methods of and related classes. + + + The default value is true. This ensures the context is aware of any changes to tracked entity instances + before performing operations such as or returning change tracking + information. If you disable automatic detect changes then you must ensure that + is called when entity instances have been modified. + Failure to do so may result in some changes not being persisted during + or out-of-date change tracking information being returned. + + + + + + + Gets or sets the tracking behavior for LINQ queries run against the context. Disabling change tracking + is useful for read-only scenarios because it avoids the overhead of setting up change tracking for each + entity instance. You should not disable change tracking if you want to manipulate entity instances and + persist those changes to the database using . + + + This method sets the default behavior for the context, but you can override this behavior for individual + queries using the + and methods. + + + The default value is . This means the change tracker will + keep track of changes for all entities that are returned from a LINQ query. + + + + + + Gets an for each entity being tracked by the context. + The entries provide access to change tracking information and operations for each entity. + + An entry for each entity being tracked. + + + + Gets an for all entities of a given type being tracked by the context. + The entries provide access to change tracking information and operations for each entity. + + The type of entities to get entries for. + An entry for each entity of the given type that is being tracked. + + + + + Checks if any new, deleted, or changed entities are being tracked + such that these changes will be sent to the database if + or is called. + + + Note that this method calls unless + has been set to false. + + + True if there are changes to save, otherwise false. + + + + + Gets the internal state manager being used to store information about tracked entities. + + + This property is intended for use by extension methods. It is not intended to be used in + application code. + + + + + + Gets the context this change tracker belongs to. + + + + + Scans the tracked entity instances to detect any changes made to the instance data. + is usually called automatically by the context when up-to-date information is required (before + and when returning change tracking information). You typically only need to + call this method if you have disabled . + + + + + Accepts all changes made to entities in the context. It will be assumed that the tracked entities + represent the current state of the database. This method is typically called by + after changes have been successfully saved to the database. + + + + + + Begins tracking an entity and any entities that are reachable by traversing it's navigation properties. + Traversal is recursive so the navigation properties of any discovered entities will also be scanned. + The specified is called for each discovered entity and must set the + that each entity should be tracked in. If no state is set, the entity + remains untracked. + + + This method is designed for use in disconnected scenarios where entities are retrieved using one instance of + the context and then changes are saved using a different instance of the context. An example of this is a + web service where one service call retrieves entities from the database and another service call persists + any changes to the entities. Each service call uses a new instance of the context that is disposed when the + call is complete. + + + If an entity is discovered that is already tracked by the context, that entity is not processed (and it's + navigation properties are not traversed). + + + The entity to begin traversal from. + + An action to configure the change tracking information for each entity. For the entity to begin being tracked, + the must be set. + + + + + + Provides access to change tracking and loading information for a collection + navigation property that associates this entity to a collection of another entities. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets or sets the value currently assigned to this property. If the current value is set using this property, + the change tracker is aware of the change and is not required + for the context to detect the change. + + + + + + Loads the entities referenced by this navigation property, unless + is already set to true. + + + Note that entities that are already being tracked are not overwritten with new data from the database. + + + + + + + Loads entities referenced by this navigation property, unless + is already set to true. + + + Note that entities that are already being tracked are not overwritten with new data from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + + + + + + Returns the query that would be used by to load entities referenced by + this navigation property. + + + The query can be composed over using LINQ to perform filtering, counting, etc. without + actually loading all entities from the database. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Provides access to change tracking and loading information for a collection + navigation property that associates this entity to a collection of another entities. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + The type of the entity the property belongs to. + The type of the property. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets or sets the value currently assigned to this property. If the current value is set using this property, + the change tracker is aware of the change and is not required + for the context to detect the change. + + + + + + Returns the query that would be used by to load entities referenced by + this navigation property. + + + The query can be composed over using LINQ to perform filtering, counting, etc. without + actually loading all entities from the database. + + + + + + + Provides access to change tracking information and operations for a given entity. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the entity being tracked by this entry. + + + + + + Gets or sets that state that this entity is being tracked in. + + + When setting the state, the entity will always end up in the specified state. For example, if you + change the state to the entity will be marked for deletion regardless + of its current state. This is different than calling where the entity + will be disconnected (rather than marked for deletion) if it is in the state. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the context that is tracking the entity. + + + + + Gets the metadata about the shape of the entity, its relationships to other entities, and how it maps to the database. + + + + + Provides access to change tracking information and operations for a given + property or navigation property of this entity. + + The property to access information and operations for. + An object that exposes change tracking information and operations for the given property. + + + + Provides access to change tracking information and operations for all + properties and navigation properties of this entity. + + + + + Provides access to change tracking information and operations for a given + navigation property of this entity. + + The property to access information and operations for. + An object that exposes change tracking information and operations for the given property. + + + + Provides access to change tracking information and operations for all + navigation properties of this entity. + + + + + Provides access to change tracking information and operations for a given + property of this entity. + + The property to access information and operations for. + An object that exposes change tracking information and operations for the given property. + + + + Provides access to change tracking information and operations for all + properties of this entity. + + + + + Provides access to change tracking and loading information for a reference (i.e. non-collection) + navigation property that associates this entity to another entity. + + The name of the navigation property. + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking information and loading information for all + reference (i.e. non-collection) navigation properties of this entity. + + + + + Provides access to change tracking and loading information for a collection + navigation property that associates this entity to a collection of another entities. + + The name of the navigation property. + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking information and loading information for all + collection navigation properties of this entity. + + + + + Gets a value indicating if the key values of this entity have been assigned a value. + False if one or more of the key properties is assigned null or the CLR default, + otherwise true. + + + + + Gets the current property values for this entity. + + The current values. + + + + Gets the original property values for this entity. The original values are the property + values as they were when the entity was retrieved from the database. + + The original values. + + + + + Queries the database for copies of the values of the tracked entity as they currently + exist in the database. If the entity is not found in the database, then null is returned. + + + Note that changing the values in the returned dictionary will not update the values + in the database. + + + The store values, or null if the entity does not exist in the database. + + + + + Queries the database for copies of the values of the tracked entity as they currently + exist in the database. If the entity is not found in the database, then null is returned. + + + Note that changing the values in the returned dictionary will not update the values + in the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. The task result contains the store values, + or null if the entity does not exist in the database. + + + + + + Reloads the entity from the database overwriting any property values with values from the database. + + + The entity will be in the state after calling this method, + unless the entity does not exist in the database, in which case the entity will be + . Finally, calling Reload on an + entity that does not exist in the database is a no-op. Note, however, that an Added entity may + not yet have had its permanent key value created. + + + + + + + Reloads the entity from the database overwriting any property values with values from the database. + + + The entity will be in the state after calling this method, + unless the entity does not exist in the database, in which case the entity will be + . Finally, calling Reload on an + entity that does not exist in the database is a no-op. Note, however, that an Added entity may + not yet have had its permanent key value created. + + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Provides access to change tracking information and operations for a node in a + graph of entities that is being traversed. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the navigation property that is being traversed to reach this node in the graph. + + + + + Gets or sets state that will be available to all nodes that are visited after this node. + + + + + Gets the entry tracking information about this entity. + + + + + + Gets the internal entry that is tracking information about this entity. + + + This property is intended for use by extension methods. It is not intended to be used in + application code. + + + + + + Creates a new node for the entity that is being traversed next in the graph. + + The node that the entity is being traversed from. + + The internal entry tracking information about the entity being traversed to. + + The navigation property that is being traversed to reach the new node. + The newly created node. + + + + + Provides access to change tracking information and operations for a given entity. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + The type of entity being tracked by this entry. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the entity being tracked by this entry. + + + + + Provides access to change tracking information and operations for a given + property of this entity. + + + A lambda expression representing the property to access information and operations for + (t => t.Property1). + + An object that exposes change tracking information and operations for the given property. + + + + Provides access to change tracking and loading information for a reference (i.e. non-collection) + navigation property that associates this entity to another entity. + + + A lambda expression representing the property to access information and operations for + (t => t.Property1). + + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking and loading information for a collection + navigation property that associates this entity to a collection of another entities. + + + A lambda expression representing the property to access information and operations for + (t => t.Property1). + + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking and loading information for a reference (i.e. non-collection) + navigation property that associates this entity to another entity. + + The name of the navigation property. + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking and loading information for a collection + navigation property that associates this entity to a collection of another entities. + + The name of the navigation property. + + An object that exposes change tracking information and operations for the + given navigation property. + + + + + Provides access to change tracking information and operations for a given + property of this entity. + + The type of the property. + The property to access information and operations for. + An object that exposes change tracking information and operations for the given property. + + + + + A collection that stays in sync with entities of a given type being tracked by + a . Call to obtain a + local view. + + + This local view will stay in sync as entities are added or removed from the context. Likewise, entities + added to or removed from the local view will automatically be added to or removed + from the context. + + + Adding an entity to this collection will cause it to be tracked in the + state by the context unless it is already being tracked. + + + Removing an entity from this collection will cause it to be marked as , + unless it was previously in the Added state, in which case it will be detached from the context. + + + The collection implements , + , and such that + notifications are generated when an entity starts being tracked by the context or is + marked as or . + + + The type of the entity in the local view. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Returns an for all tracked entities of type TEntity + that are not marked as deleted. + + An enumerator for the collection. + + + + Returns an for all tracked entities of type TEntity + that are not marked as deleted. + + An enumerator for the collection. + + + + + Adds a new entity to the . If the entity is not being tracked or is currently + marked as deleted, then it becomes tracked as . + + + Note that only the given entity is tracked. Any related entities discoverable from + the given entity are not automatically tracked. + + + The item to start tracking. + + + + + Marks all entities of type TEntity being tracked by the + as . + + + Entities that are currently marked as will be marked + as since the Added state indicates that the entity + has not been saved to the database and hence it does not make sense to attempt to + delete it from the database. + + + + + + Returns true if the entity is being tracked by the context and has not been + marked as Deleted. + + The entity to check. + + + + + Copies to an array all entities of type TEntity that are being tracked and are + not marked as Deleted. + + The array into which to copy entities. + The index into the array to start copying. + + + + + Marks the given entity as . + + + Entities that are currently marked as will be marked + as since the Added state indicates that the entity + has not been saved to the database and hence it does not make sense to attempt to + delete it from the database. + + + The entity to delete. + True if the entity was being tracked and was not already Deleted. + + + + The number of entities of type TEntity that are being tracked and are not marked + as Deleted. + + + + + False, since the collection is not read-only. + + + + + Occurs when a property of this collection (such as ) changes. + + + + + Occurs when a property of this collection (such as ) is changing. + + + + + Occurs when the contents of the collection changes, either because an entity + has been directly added or removed from the collection, or because an entity + starts being tracked, or because an entity is marked as Deleted. + + + + + Raises the event. + + Details of the property that changed. + + + + Raises the event. + + Details of the property that is changing. + + + + Raises the event. + + Details of the change. + + + + Returns an implementation that stays in sync with this collection. + + The binding list. + + + + + Provides access to change tracking information and operations for a given property + or navigation property. + + + Scalar properties use the derived class , reference navigation + properties use the derived class , and collection navigation + properties use the derived class . + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + For non-navigation properties, gets or sets a value indicating whether the value of this + property has been modified and should be updated in the database when + + is called. + + + For navigation properties, gets or sets a value indicating whether any of foreign key + property values associated with this navigation property have been modified and should + be updated in the database when is called. + + + + + + Gets the metadata that describes the facets of this property and how it maps to the database. + + + + + Gets or sets the value currently assigned to this property. If the current value is set using this property, + the change tracker is aware of the change and is not required + for the context to detect the change. + + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Provides access to change tracking and loading information for a navigation property + that associates this entity to one or more other entities. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Loads the entity or entities referenced by this navigation property, unless + is already set to true. + + + Note that entities that are already being tracked are not overwritten with new data from the database. + + + + + + + Loads the entity or entities referenced by this navigation property, unless + is already set to true. + + + Note that entities that are already being tracked are not overwritten with new data from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + + + + + + Returns the query that would be used by to load entities referenced by + this navigation property. + + + The query can be composed over using LINQ to perform filtering, counting, etc. without + actually loading all entities from the database. + + + The query to load related entities. + + + + + Gets or sets a value indicating whether the entity or entities referenced by this navigation property + are known to be loaded. + + + Loading entities from the database using + or + + , , or will set this flag. Subseqent calls to + or will then be a no-op. + + + It is possible for IsLoaded to be false even if all related entities are loaded. This is because, depending on + how entities are loaded, it is not always possible to know for sure that all entities in a related collection + have been loaded. In such cases, calling or will ensure all + related entities are loaded and will set this flag to true. + + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets or sets a value indicating whether any of foreign key property values associated + with this navigation property have been modified and should be updated in the database + when is called. + + + + + Gets the metadata that describes the facets of this property and how it maps to the database. + + + + + + Extends and adds an explicit implementation of . + + + The method is implemented to return an + implementation that stays in sync with the ObservableCollection. + + + This class can be used to implement navigation properties on entities for use in Windows Forms data binding. + For WPF data binding use an ObservableCollection rather than an instance of this class. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class that + contains elements copied from the specified collection. + + The collection from which the elements are copied. + + + + Initializes a new instance of the class that + contains elements copied from the specified list. + + The list from which the elements are copied. + + + + Always false because there is never a contained collection. + + + + + Returns an implementation that stays in sync with + this . The returned list is cached on this object + such that the same list is returned each time this method is called. + + + An in sync with the ObservableCollection. + + + + + A hash set that implements the interfaces required for Entity Framework to use notification based change tracking + for a collection navigation property. + + The type of elements in the hash set. + + + + Initializes a new instance of the class + that is empty and uses the default equality comparer for the set type. + + + + + Initializes a new instance of the class + that is empty and uses the specified equality comparer for the set type. + + + The implementation to use when + comparing values in the set, or null to use the default + implementation for the set type. + + + + + Initializes a new instance of the class + that uses the default equality comparer for the set type, contains elements copied + from the specified collection, and has sufficient capacity to accommodate the + number of elements copied. + + The collection whose elements are copied to the new set. + + + + Initializes a new instance of the class + that uses the specified equality comparer for the set type, contains elements + copied from the specified collection, and has sufficient capacity to accommodate + the number of elements copied. + + The collection whose elements are copied to the new set. + + The implementation to use when + comparing values in the set, or null to use the default + implementation for the set type. + + + + + Occurs when a property of this hash set (such as ) changes. + + + + + Occurs when a property of this hash set (such as ) is changing. + + + + + Occurs when the contents of the hash set changes. + + + + + Removes all elements from the hash set. + + + + + Determines whether the hash set object contains the + specified element. + + The element to locate in the hash set. + + True if the hash set contains the specified element; otherwise, false. + + + + + Copies the elements of the hash set to an array, starting at the specified array index. + + + The one-dimensional array that is the destination of the elements copied from + the hash set. The array must have zero-based indexing. + + The zero-based index in array at which copying begins. + + + + Removes the specified element from the hash set. + + The element to remove. + + True if the element is successfully found and removed; otherwise, false. + + + + + Gets the number of elements that are contained in the hash set. + + + + + Gets a value indicating whether the hash set is read-only. + + + + + Returns an enumerator that iterates through the hash set. + + + An enumerator for the hash set. + + + + + Adds the specified element to the hash set. + + The element to add to the set. + + true if the element is added to the hash set; false if the element is already present. + + + + + Modifies the hash set to contain all elements that are present in itself, the specified collection, or both. + + The collection to compare to the current hash set. + + + + Modifies the current hash set to contain only + elements that are present in that object and in the specified collection. + + The collection to compare to the current hash set. + + + + Removes all elements in the specified collection from the hash set. + + The collection of items to remove from the current hash set. + + + + Modifies the current hash set to contain only elements that are present either in that + object or in the specified collection, but not both. + + The collection to compare to the current hash set. + + + + Determines whether the hash set is a subset of the specified collection. + + The collection to compare to the current hash set. + + True if the hash set is a subset of other; otherwise, false. + + + + + Determines whether the hash set is a proper subset of the specified collection. + + The collection to compare to the current hash set. + + True if the hash set is a proper subset of other; otherwise, false. + + + + + Determines whether the hash set is a superset of the specified collection. + + The collection to compare to the current hash set. + + True if the hash set is a superset of other; otherwise, false. + + + + + Determines whether the hash set is a proper superset of the specified collection. + + The collection to compare to the current hash set. + + True if the hash set is a proper superset of other; otherwise, false. + + + + + Determines whether the current System.Collections.Generic.HashSet`1 object and a specified collection share common elements. + + The collection to compare to the current hash set. + + True if the hash set and other share at least one common element; otherwise, false. + + + + + Determines whether the hash set and the specified collection contain the same elements. + + The collection to compare to the current hash set. + + True if the hash set is equal to other; otherwise, false. + + + + + Copies the elements of the hash set to an array. + + + The one-dimensional array that is the destination of the elements copied from + the hash set. The array must have zero-based indexing. + + + + + Copies the specified number of elements of the hash set to an array, starting at the specified array index. + + + The one-dimensional array that is the destination of the elements copied from + the hash set. The array must have zero-based indexing. + + The zero-based index in array at which copying begins. + The number of elements to copy to array. + + + + Removes all elements that match the conditions defined by the specified predicate + from the hash set. + + + The delegate that defines the conditions of the elements to remove. + + The number of elements that were removed from the hash set. + + + + Gets the object that is used to determine equality for the values in the set. + + + + + Sets the capacity of the hash set to the actual number of elements it contains, rounded up to a nearby, + implementation-specific value. + + + + + Raises the event. + + Details of the property that changed. + + + + Raises the event. + + Details of the property that is changing. + + + + Raises the event. + + Details of the change. + + + + Returns an implementation that stays in sync with this collection. + + The binding list. + + + + + Extends and adds an explicit implementation of . + + + The method is implemented to return an + implementation that stays in sync with the ObservableHashSet. + + + This class can be used to implement navigation properties on entities for use in Windows Forms data binding. + For WPF data binding use an ObservableHashSet rather than an instance of this class. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class that + contains elements copied from the specified collection. + + The collection from which the elements are copied. + + + + Initializes a new instance of the class that + contains elements copied from the specified list. + + The list from which the elements are copied. + + + + Always false because there is never a contained collection. + + + + + Returns an implementation that stays in sync with + this . The returned list is cached on this object + such that the same list is returned each time this method is called. + + + An in sync with the ObservableHashSet. + + + + + + Provides access to change tracking information and operations for a given property. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets or sets a value indicating whether the value of this property has been modified + and should be updated in the database when + is called. + + + + + Gets or sets a value indicating whether the value of this property is considered a + temporary value which will be replaced by a value generated from the store when + is called. + + + + + Gets the metadata that describes the facets of this property and how it maps to the database. + + + + + Gets or sets the value that was assigned to this property when it was retrieved from the database. + This property is populated when an entity is retrieved from the database, but setting it may be + useful in disconnected scenarios where entities are retrieved with one context instance and + saved with a different context instance. + + + + + + Provides access to change tracking information and operations for a given property. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + The type of the entity the property belongs to. + The type of the property. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets or sets the value currently assigned to this property. If the current value is set using this property, + the change tracker is aware of the change and is not required + for the context to detect the change. + + + + + Gets or sets the value that was assigned to this property when it was retrieved from the database. + This property is populated when an entity is retrieved from the database, but setting it may be + useful in disconnected scenarios where entities are retrieved with one context instance and + saved with a different context instance. + + + + + + A collection of all property values for an entity. + + + Objects of this type can be obtained from , + , , + or . + Once obtained, the objects are usually used in various combinations to resolve optimitisic + concurrency exceptions signalled by the throwing of a . + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Creates an insatcne of the entity type and sets all its properties using the + values from this object. + + The values of this object copied into a new entity instance. + + + + + Sets the values of this object by copying values from the given object. + + + The given object can be of any type. Any property on the object with a name that + matches a property name in the entity type and can be read will be copied. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + + The object to read values from. + + + + Creates a clone of the values in this object. Changes made to the new object will not be + reflected in this object and vice versa. + + A clone of this object. + + + + + Sets the values of this object by reading values from another + object. + + + The other object must be based on the same type as this object, or a type derived + from the type for this object. + + + The object from which values should be coiped. + + + + + Sets the values of this object by copying values from the given dictionary. + + + The keys of the dictionary must match property names. Any key in the dictionary + that does not match the name of a property in the entity type will be ignored. + + + The dictionary to read values from. + + + + Gets the properties for which this object is storing values. + + The properties. + + + + Gets the underlying entity type for which this object is storing values. + + + + + Gets or sets the value of the property with the specified property name. + + The property name. + The value of the property. + + + + Gets or sets the value of the property. + + The property. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. + + The type of the property. + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. + + The type of the property. + The property. + The value of the property. + + + + + Provides access to change tracking and loading information for a reference (i.e. non-collection) + navigation property that associates this entity to another entity. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Provides access to change tracking and loading information for a reference (i.e. non-collection) + navigation property that associates this entity to another entity. + + + Instances of this class are returned from methods when using the API and it is + not designed to be directly constructed in your application code. + + + The type of the entity the property belongs to. + The type of the property. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets or sets the value currently assigned to this property. If the current value is set using this property, + the change tracker is aware of the change and is not required + for the context to detect the change. + + + + + + Returns the query that would be used by to load the entity referenced by + this navigation property. + + + The query can be composed over using LINQ to perform filtering, counting, etc. without + actually loading the entity from the database. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + The state manager is tracking for a single query for one entity type and no self-refs. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + The state manager is tracking for a single query, but with multiple entity types and/or self refs. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + The state manager is tracking for multiple queries and/or with other tracked entities. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Extension methods for . + + + + + Gets all types in the model that derive from a given entity type. + + The base type to find types that derive from. + The derived types. + + + + Gets the root base type for a given entity type. + + The type to find the root of. + + The root base type. If the given entity type is not a derived type, then the same entity type is returned. + + + + + Determines if an entity type derives from (or is the same as) a given entity type. + + The base entity type. + The entity type to check if it derives from . + + True if derives from (or is the same as) , otherwise false. + + + + + Gets the least derived type between the specified two. + + The type to compare. + The other entity type to compare with. + + The least derived type between the specified two. + If the given entity types are not related, then null is returned. + + + + + Gets the primary or alternate key that is defined on the given property. Returns null if no key is defined + for the given property. + + The entity type to find the key on. + The property that the key is defined on. + The key, or null if none is defined. + + + + Gets the foreign keys defined on the given property. Only foreign keys that are defined on exactly the specified + property are returned. Composite foreign keys that include the specified property are not returned. + + The entity type to find the foreign keys on. + The property to find the foreign keys on. + The foreign keys. + + + + Gets the foreign keys defined on the given properties. Only foreign keys that are defined on exactly the specified + set of properties are returned. + + The entity type to find the foreign keys on. + The properties to find the foreign keys on. + The foreign keys. + + + + Gets the foreign key for the given properties that points to a given primary or alternate key. Returns null + if no foreign key is found. + + The entity type to find the foreign keys on. + The property that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The foreign key, or null if none is defined. + + + + Gets all foreign keys that target a given entity type (i.e. foreign keys where the given entity type + is the principal). + + The entity type to find the foreign keys for. + The foreign keys that reference the given entity type. + + + + Gets a navigation property on the given entity type. Returns null if no navigation property is found. + + The entity type to find the navigation property on. + The navigation property on the entity class. + The navigation property, or null if none is found. + + + + Gets a navigation property on the given entity type. Returns null if no navigation property is found. + + The entity type to find the navigation property on. + The name of the navigation property on the entity class. + The navigation property, or null if none is found. + + + + Gets all navigation properties on the given entity type. + + The entity type to get navigation properties for. + All navigation properties on the given entity type. + + + + + Gets a property on the given entity type. Returns null if no property is found. + + + This API only finds scalar properties and does not find navigation properties. Use + to find a navigation property. + + + The entity type to find the property on. + The property on the entity class. + The property, or null if none is found. + + + + Gets the index defined on the given property. Returns null if no index is defined. + + The entity type to find the index on. + The property to find the index on. + The index, or null if none is found. + + + + Gets the change tracking strategy being used for this entity type. This strategy indicates how the + context detects changes to properties for an instance of the entity type. + + The entity type to get the change tracking strategy for. + The change tracking strategy. + + + + Extension methods for + + + + + Executes the specified operation. + + The strategy that will be used for the execution. + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + The strategy that will be used for the execution. + + A delegate representing an executable operation that returns the result of type . + + The return type of . + The result from the operation. + + + + Executes the specified operation. + + The strategy that will be used for the execution. + A delegate representing an executable operation that doesn't return any results. + The state that will be passed to the operation. + The type of the state. + + + + Executes the specified asynchronous operation. + + The strategy that will be used for the execution. + A function that returns a started task. + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation. + + The strategy that will be used for the execution. + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + The strategy that will be used for the execution. + + A function that returns a started task of type . + + + The result type of the returned by . + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + The strategy that will be used for the execution. + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + The result type of the returned by . + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation. + + The strategy that will be used for the execution. + A function that returns a started task. + The state that will be passed to the operation. + The type of the state. + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation. + + The strategy that will be used for the execution. + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The type of the state. + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + The strategy that will be used for the execution. + + A function that returns a started task of type . + + The state that will be passed to the operation. + The type of the state. + + The result type of the returned by . + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified operation and returns the result. + + The strategy that will be used for the execution. + + A delegate representing an executable operation that returns the result of type . + + The state that will be passed to the operation. + The type of the state. + The return type of . + The result from the operation. + + + + Executes the specified asynchronous operation and returns the result. + + The strategy that will be used for the execution. + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The type of the state. + + The result type of the returned by . + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified operation in a transaction and returns the result after commiting it. + + The strategy that will be used for the execution. + + A delegate representing an executable operation that returns the result of type . + + + A delegate that tests whether the operation succeeded even though an exception was thrown when the + transaction was being committed. + + The state that will be passed to the operation. + The context that will be used to start the transaction. + The type of the state. + The return type of . + The result from the operation. + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Executes the specified asynchronous operation and returns the result. + + The strategy that will be used for the execution. + + A function that returns a started task of type . + + + A delegate that tests whether the operation succeeded even though an exception was thrown when the + transaction was being committed. + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The context that will be used to start the transaction. + The type of the state. + The result type of the returned by . + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Extension methods for . + + + + + Gets all foreign keys that target a given primary or alternate key. + + The key to find the foreign keys for. + The foreign keys that reference the given key. + + + + Extension methods for . + + + + + Gets the entity that maps the given entity class. Returns null if no entity type with the given name is found. + + The model to find the entity type in. + The type of the entity class to find the type for. + The entity type, or null if none if found. + + + + Gets the default change tracking strategy being used for entities in the model. This strategy indicates how the + context detects changes to properties for an instance of an entity type. + + The model to get the default change tracking strategy for. + The change tracking strategy. + + + + + Gets the being used for properties of entity types in this model. + Null indicates that the default property access mode is being used. + + + Note that individual entity types can override this access mode, and individual properties of + entity types can override the access mode set on the entity type. The value returned here will + be used for any property for which no override has been specified. + + + The model to get the access mode for. + The access mode being used, or null if the default access mode is being used. + + + + Extension methods for . + + + + + Gets the existing annotation with a given key, or adds a new annotation if one does not exist. + + The object to find or add the annotation to. + The key of the annotation to be found or added. + The value to be stored in the annotation if a new one is created. + The found or added annotation. + + + + Adds annotations to an object. + + The object to add the annotations to. + The annotations to be added. + + + + Extension methods for . + + + + + Gets all types in the model that derive from a given entity type. + + The base type to find types that derive from. + The derived types. + + + + Gets the root base type for a given entity type. + + The type to find the root of. + + The root base type. If the given entity type is not a derived type, then the same entity type is returned. + + + + + Sets the primary key for this entity. + + The entity type to set the key on. + The primary key property. + The newly created key. + + + + Gets the existing primary key of an entity, or sets it if one is not defined. + + The entity type to get or set the key on. + The property to set as the primary key if one is not already defined. + The existing or newly created key. + + + + Gets the existing primary key of an entity, or sets it if one is not defined. + + The entity type to get or set the key on. + The properties to set as the primary key if one is not already defined. + The existing or newly created key. + + + + Gets the primary or alternate key that is defined on the given property. Returns null if no key is defined + for the given property. + + The entity type to find the key on. + The property that the key is defined on. + The key, or null if none is defined. + + + + Adds a new alternate key to this entity type. + + The entity type to add the alternate key to. + The property to use as an alternate key. + The newly created key. + + + + Gets the existing alternate key defined on a property, or creates a new one if one is not + already defined. + + The entity type to get or create the alternate key on. + The property that is used as the alternate key. + The existing or newly created alternate key. + + + + Gets the existing alternate key defined on a set of properties, or creates a new one if one is not + already defined. + + The entity type to get or create the alternate key on. + The properties that are used as the alternate key. + The existing or newly created alternate key. + + + + Gets the foreign keys defined on the given property. Only foreign keys that are defined on exactly the specified + property are returned. Composite foreign keys that include the specified property are not returned. + + The entity type to find the foreign keys on. + The property to find the foreign keys on. + The foreign keys. + + + + Gets the foreign keys defined on the given properties. Only foreign keys that are defined on exactly the specified + set of properties are returned. + + The entity type to find the foreign keys on. + The properties to find the foreign keys on. + The foreign keys. + + + + Gets the foreign key for the given properties that points to a given primary or alternate key. Returns null + if no foreign key is found. + + The entity type to find the foreign keys on. + The property that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The foreign key, or null if none is defined. + + + + Gets all foreign keys that target a given entity type (i.e. foreign keys where the given entity type + is the principal). + + The entity type to find the foreign keys for. + The foreign keys that reference the given entity type. + + + + Adds a new relationship to this entity. + + The entity type to add the foreign key to. + The property that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The newly created foreign key. + + + + Gets an existing relationship, or creates a new one if one is not already defined. + + The entity type to get or add the foreign key to. + The property that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The existing or newly created foreign key. + + + + Gets an existing relationship, or creates a new one if one is not already defined. + + The entity type to get or add the foreign key to. + The properties that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The existing or newly created foreign key. + + + + Gets a navigation property on the given entity type. Returns null if no navigation property is found. + + The entity type to find the navigation property on. + The navigation property on the entity class. + The navigation property, or null if none is found. + + + + Gets a navigation property on the given entity type. Returns null if no navigation property is found. + + The entity type to find the navigation property on. + The name of the navigation property on the entity class. + The navigation property, or null if none is found. + + + + Gets all navigation properties on the given entity type. + + The entity type to get navigation properties for. + All navigation properties on the given entity type. + + + + + Gets a property on the given entity type. Returns null if no property is found. + + + This API only finds scalar properties and does not find navigation properties. Use + to find a navigation property. + + + The entity type to find the property on. + The property on the entity class. + The property, or null if none is found. + + + + Adds a property to this entity. + + The entity type to add the property to. + The corresponding property in the entity class. + The newly created property. + + + + Gets the property with the given name, or creates a new one if one is not already defined. + + The entity type to get or add the property to. + The name of the property. + The type of value the property will hold. + The existing or newly created property. + The returned property might not have the specified type and shadowness. + + + + Gets the property with the given name, or creates a new one if one is not already defined. + + The entity type to get or add the property to. + The corresponding property in the entity class. + The existing or newly created property. + The returned property might not have the specified type and shadowness. + + + + Gets the index defined on the given property. Returns null if no index is defined. + + The entity type to find the index on. + The property to find the index on. + The index, or null if none is found. + + + + Adds an index to this entity. + + The entity type to add the index to. + The property to be indexed. + The newly created index. + + + + Gets the index defined on the given property or creates a new one if one is not already defined. + + The entity type to get or add the index to. + The property to be indexed. + The existing or newly created index. + + + + Gets the index defined on the given property or creates a new one if one is not already defined. + + The entity type to get or add the index to. + The properties to be indexed. + The existing or newly created index. + + + + + Sets the to use for properties of this entity type. + + + Note that individual properties can override this access mode. The value set here will + be used for any property for which no override has been specified. + + + The entity type for which to set the access mode. + The , or null to clear the mode set. + + + + Extension methods for . + + + + + Gets all foreign keys that target a given primary or alternate key. + + The key to find the foreign keys for. + The foreign keys that reference the given key. + + + + Extension methods for . + + + + + Gets the entity that maps the given entity class. Returns null if no entity type with the given name is found. + + The model to find the entity type in. + The type of the entity class to find the type for. + The entity type, or null if none if found. + + + + Gets the entity type with the given name or adds a new entity type if none is found. + + The model to find or add the entity type to. + The name of the entity type. + The existing or newly created entity type. + + + + Gets the entity type with the given .NET type or adds a new entity type if none is found. + + The model to find or add the entity type to. + The .NET type of the entity type. + The existing or newly created entity type. + + + + Removes an entity type from the model. + + The model to remove the entity type from. + The entity type to be removed. + The entity type that was removed. + + + + + Sets the to use for properties of all entity types + in this model. + + + Note that individual entity types can override this access mode, and individual properties of + entity types can override the access mode set on the entity type. The value set here will + be used for any property for which no override has been specified. + + + The model to set the access mode for. + The , or null to clear the mode set. + + + + Extension methods for . + + + + + Gets the navigation property on the other end of the relationship. Returns null if + there is no navigation property defined on the other end of the relationship. + + The navigation property to find the inverse of. + + The inverse navigation, or null if none is defined. + + + + + Gets the entity type that a given navigation property will hold an instance of + (or hold instances of if it is a collection navigation). + + The navigation property to find the target entity type of. + The target entity type. + + + + Extension methods for . + + + + + + Sets the backing field to use for this property. + + + Backing fields are normally found by convention as described + here: http://go.microsoft.com/fwlink/?LinkId=723277. + This method is useful for setting backing fields explicitly in cases where the + correct field is not found by convention. + + + By default, the backing field, if one is found or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. This can be changed by calling + . + + + The property for which the backing field should be set. + The name of the field to use. + + + + Sets the to use for this property. + + The property for which to set the access mode. + The , or null to clear the mode set. + + + + Extension methods for . + + + + + + Sets the factory to use for generating values for this property, or null to clear any previously set factory. + + + Setting null does not disable value generation for this property, it just clears any generator explicitly + configured for this property. The database provider may still have a value generator for the property type. + + + The property to set the value generator for. + + A factory that will be used to create the value generator, or null to + clear any previously set factory. + + + + + Sets the maximum length of data that is allowed in this property. For example, if the property is a ' + then this is the maximum number of characters. + + The property to set the maximum length of. + The maximum length of data that is allowed in this property. + + + + Sets a value indicating whether or not this property can persist unicode characters. + + The property to set the value for. + True if the property accepts unicode characters, false if it does not, null to clear the setting. + + + + Gets all foreign keys that use this property (including composite foreign keys in which this property + is included). + + The property to get foreign keys for. + + The foreign keys that use this property. + + + + + Gets the primary key that uses this property (including a composite primary key in which this property + is included). + + The property to get primary key for. + + The primary that use this property, or null if it is not part of the primary key. + + + + + Gets all primary or alternate keys that use this property (including composite keys in which this property + is included). + + The property to get primary and alternate keys for. + + The primary and alternate keys that use this property. + + + + + Extension methods for . + + + + + Gets a value indicating whether the given navigation property is the navigation property on the dependent entity + type that points to the principal entity. + + The navigation property to check. + + True if the given navigation property is the navigation property on the dependent entity + type that points to the principal entity, otherwise false. + + + + + Gets a value indicating whether the given navigation property is a collection property. + + The navigation property to check. + + True if this is a collection property, false if it is a reference property. + + + + + Gets the navigation property on the other end of the relationship. Returns null if + there is no navigation property defined on the other end of the relationship. + + The navigation property to find the inverse of. + + The inverse navigation, or null if none is defined. + + + + + Gets the entity type that a given navigation property will hold an instance of + (or hold instances of if it is a collection navigation). + + The navigation property to find the target entity type of. + The target entity type. + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Extension methods for . + + + + + Gets the name of the backing field for this property, or null if the backing field + is not known. + + The property for which the backing field will be returned. + The name of the backing field, or null. + + + + + Gets the being used for this property. + Null indicates that the default property access mode is being used. + + + The property for which to get the access mode. + The access mode being used, or null if the default access mode is being used. + + + + Extension methods for . + + + + + Gets the factory that has been set to generate values for this property, if any. + + The property to get the value generator factory for. + The factory, or null if no factory has been set. + + + + Gets the maximum length of data that is allowed in this property. For example, if the property is a ' + then this is the maximum number of characters. + + The property to get the maximum length of. + The maximum length, or null if none if defined. + + + + Gets a value indicating whether or not the property can persist unicode characters. + + The property to get the unicode setting for. + The unicode setting, or null if none if defined. + + + + Gets a value indicating whether this property is used as a foreign key (or part of a composite foreign key). + + The property to check. + + True if the property is used as a foreign key, otherwise false. + + + + + Gets a value indicating whether this property is used as an index (or part of a composite index). + + The property to check. + + True if the property is used as an index, otherwise false. + + + + + Gets a value indicating whether this property is used as the primary key (or part of a composite primary key). + + The property to check. + + True if the property is used as the primary key, otherwise false. + + + + + Gets a value indicating whether this property is used as part of a primary or alternate key + (or part of a composite primary or alternate key). + + The property to check. + + True if the property is part of a key, otherwise false. + + + + + Gets all foreign keys that use this property (including composite foreign keys in which this property + is included). + + The property to get foreign keys for. + + The foreign keys that use this property. + + + + + Gets all indexes that use this property (including composite indexes in which this property + is included). + + The property to get indexes for. + + The indexes that use this property. + + + + + Gets the primary key that uses this property (including a composite primary key in which this property + is included). + + The property to get primary key for. + + The primary that use this property, or null if it is not part of the primary key. + + + + + Gets all primary or alternate keys that use this property (including composite keys in which this property + is included). + + The property to get primary and alternate keys for. + + The primary and alternate keys that use this property. + + + + + Extension methods for . + + + + + + Gets the being used for properties of this type. + Null indicates that the default property access mode is being used. + + + Note that individual properties can override this access mode. The value returned here will + be used for any property for which no override has been specified. + + + The type for which to get the access mode. + The access mode being used, or null if the default access mode is being used. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The string argument '{argumentName}' cannot be empty. + + + + + Unable to save changes because a circular dependency was detected in the data to be saved: '{cycle}'. + + + + + The value provided for argument '{argumentName}' must be a valid value of enum type '{enumType}'. + + + + + The properties expression '{expression}' is not valid. The expression should represent a property access: 't => t.MyProperty'. When specifying multiple properties use an anonymous type: 't => new {{ t.MyProperty1, t.MyProperty2 }}'. + + + + + The expression '{expression}' is not a valid property expression. The expression should represent a property access: 't => t.MyProperty'. + + + + + The instance of entity type '{entityType}' cannot be tracked because another instance of this type with the same key is already being tracked. When adding new entities, for most key types a unique temporary key value will be created if no key is set (i.e. if the key property is assigned the default value for its type). If you are explicitly setting key values for new entities, ensure they do not collide with existing entities or temporary values generated for other new entities. When attaching existing entities, ensure that only one entity instance with a given key value is attached to the context. + + + + + Cannot start tracking InternalEntityEntry for entity type '{entityType}' because it was created by a different StateManager instance. + + + + + Cannot start tracking InternalEntityEntry for entity type '{entityType}' because another InternalEntityEntry is already tracking the same entity. + + + + + The property '{property}' on entity type '{entityType}' could not be found. Ensure that the property exists and has been included in the model. + + + + + The property '{property}' on entity type '{entityType}' is being accessed using the '{PropertyMethod}' method, but is defined in the model as a navigation property. Use either the '{ReferenceMethod}' or '{CollectionMethod}' method to access navigation properties. + + + + + The property '{property}' on entity type '{entityType}' is being accessed using the '{ReferenceMethod}' or '{CollectionMethod}' method, but is defined in the model as a non-navigation property. Use the '{PropertyMethod}' method to access non-navigation properties. + + + + + The property '{property}' on entity type '{entityType}' is being accessed using the '{ReferenceMethod}' method, but is defined in the model as a collection navigation property. Use the '{CollectionMethod}' method to access collection navigation properties. + + + + + The property '{property}' on entity type '{entityType}' is being accessed using the '{CollectionMethod}' method, but is defined in the model as a non-collection, reference navigation property. Use the '{ReferenceMethod}' method to access reference navigation properties. + + + + + Navigation property '{navigation}' on entity type '{entityType}' cannot have 'IsLoaded' set to false because the referenced entity is non-null and therefore is loaded. + + + + + The collection argument '{argumentName}' must contain at least one element. + + + + + The entity type '{entityType}' requires a primary key to be defined. + + + + + The specified key properties {key} are not declared on the entity type '{entityType}'. Ensure key properties are declared on the target entity type. + + + + + The specified foreign key properties {foreignKey} are not declared on the entity type '{entityType}'. Ensure foreign key properties are declared on the target entity type. + + + + + The specified index properties {index} are not declared on the entity type '{entityType}'. Ensure index properties are declared on the target entity type. + + + + + The source IQueryable doesn't implement IAsyncEnumerable<{genericParameter}>. Only sources that implement IAsyncEnumerable can be used for Entity Framework asynchronous operations. + + + + + The provider for the source IQueryable doesn't implement IAsyncQueryProvider. Only providers that implement IEntityQueryProvider can be used for Entity Framework asynchronous operations. + + + + + The entity type '{entityType}' is configured to use the '{changeTrackingStrategy}' change tracking strategy but does not implement the required '{notificationInterface}' interface. + + + + + The collection type being used for navigation property '{navigation}' on entity type '{entityType}' does not implement 'INotifyCollectionChanged'. Any entity type configured to use the '{changeTrackingStrategy}' change tracking strategy must use collections that implement 'INotifyCollectionChanged'. Consider using 'ObservableCollection<T>' for this. + + + + + 'ObservableCollection<T>.Clear()' is not supported because it uses the 'INotifyCollectionChanged' 'Reset' operation, which does not supply the items removed. Either use multiple calls to 'Remove' or use a notifying collection that supports 'Clear', such as 'Microsoft.EntityFrameworkCore.ChangeTracking.ObservableHashSet<T>'. + + + + + The original value for property '{property}' of entity type '{entityType}' cannot be accessed because it is not being tracked. Original values are not recorded for most properties of entities when the 'ChangingAndChangedNotifications' strategy is used. To access all original values use a different change tracking strategy such as 'ChangingAndChangedNotificationsWithOriginalValues'. + + + + + The value for property '{property}' of entity type '{entityType}' cannot be set to null because its type is '{propertyType}' which is not a nullable type. + + + + + The value for property '{property}' of entity type '{entityType}' cannot be set to a value of type '{valueType}' because its type is '{propertyType}'. + + + + + The property '{property}' belongs to entity type '{entityType}' but is being used with an instance of entity type '{expectedType}'. + + + + + Cannot change ObservableHashSet during a CollectionChanged event. + + + + + The specified field '{field}' could not be found for property '{property}' on entity type '{entityType}'. + + + + + The specified field '{field}' of type '{fieldType}' cannot be used for the property '{entityType}.{property}' of type '{propertyType}'. Only backing fields of types that are assignable from the property type can be used. + + + + + No field was found backing property '{property}' of entity type '{entity}'. Either configure a backing field or use a different '{pam}'. + + + + + No backing field could be found for property '{property}' of entity type '{entity}' and the property does not have a setter. + + + + + No backing field could be found for property '{property}' of entity type '{entity}' and the property does not have a getter. + + + + + Field '{field}' of entity type '{entity}' is readonly and so cannot be set. + + + + + No property was associated with field '{field}' of entity type '{entity}'. Either configure a property or use a different '{pam}'. + + + + + The property '{property}' of entity type '{entity}' does not have a setter. Either make the property writable or use a different '{pam}'. + + + + + The property '{property}' of entity type '{entity}' does not have a getter. Either make the property readable or use a different '{pam}'. + + + + + The CLR entity materializer cannot be used for entity type '{entityType}' because it is a shadow state entity type. Materialization to a CLR type is only possible for entity types that have a corresponding CLR type. + + + + + The database providers {storeNames}are configured. A context can only be configured to use a single database provider. + + + + + No database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext. + + + + + Entity Framework services have not been added to the internal service provider. Either remove the call to UseInternalServiceProvider so that EF will manage its own internal services, or use the method from your database provider to add the required services to the service provider (e.g. AddEntityFrameworkSqlServer). + + + + + A call was made to {replaceService}, but Entity Framework is not building its own internal service provider. Either allow EF to build the service provider by removing the call to {useInternalServiceProvider}, or build replacement services into the service provider before passing it to {useInternalServiceProvider}. + + + + + The database providers {storeNames}are available. A context can only be configured to use a single database provider. Configure a database provider by overriding OnConfiguring in your DbContext class or in the AddDbContext method when setting up services. + + + + + The '{property}' on entity type '{entityType}' does not have a value set and no value generator is available for properties of type '{propertyType}'. Either set a value for the property before adding the entity or configure a value generator for properties of type '{propertyType}'. + + + + + The type '{givenType}' cannot be used a a value generator because it does not inherit from '{expectedType}'. + + + + + Cannot create instance of value generator type '{generatorType}'. Ensure that the type is instantiable and has a parameterless constructor, or use the overload of HasValueGenerator that accepts a delegate. + + + + + The property '{property}' on entity type '{entityType}' has a temporary value while attempting to change the entity's state to '{state}'. Either set a permanent value explicitly or ensure that the database is configured to generate values for this property. + + + + + An exception occurred in the database while iterating the results of a query.{newline}{error} + + + + + An exception occurred in the database while saving changes.{newline}{error} + + + + + The EF.Property<T> method may only be used within LINQ queries. + + + + + The property '{property}' cannot be added to the entity type '{entityType}' because a property with the same name already exists on entity type '{duplicateEntityType}'. + + + + + The property '{property}' cannot be added to type '{entityType}' because the type of the corresponding CLR property or field '{clrType}' does not match the specified type '{propertyType}'. + + + + + The property '{property}' cannot exist on type '{entityType}' because the type is marked as shadow state while the property is not. Shadow state types can only contain shadow state properties. + + + + + The property '{property}' cannot be removed from entity type '{entityType}' because it is being used in the key {key}. All containing keys must be removed or redefined before the property can be removed. + + + + + Cannot remove key {key} from entity type '{entityType}' because it is referenced by a foreign key in entity type '{dependentType}'. All foreign keys must be removed or redefined before the referenced key can be removed. + + + + + The navigation property '{navigation}' cannot be added to the entity type '{entityType}' because a navigation property with the same name already exists on entity type '{duplicateEntityType}'. + + + + + The navigation property '{navigation}' cannot be added to the entity type '{entityType}' because there is no corresponding CLR property on the underlying type and navigations properties cannot be added to shadow state. + + + + + The navigation property '{navigation}' cannot be added to the entity type '{entityType}' because its CLR type '{clrType}' does not match the expected CLR type '{targetType}'. + + + + + The collection navigation property '{navigation}' cannot be added to the entity type '{entityType}' because its CLR type '{clrType}' does not implement 'IEnumerable<{targetType}>'. Collection navigation properties must implement IEnumerable<> of the related entity. + + + + + The number of properties specified for the foreign key {foreignKey} on entity type '{dependentType}' does not match the number of properties in the principal key {principalKey} on entity type '{principalType}'. + + + + + The types of the properties specified for the foreign key {foreignKey} on entity type '{dependentType}' do not match the types of the properties in the principal key {principalKey} on entity type '{principalType}'. + + + + + The type of navigation property '{navigation}' on the entity type '{entityType}' is '{foundType}' which does not implement ICollection<{targetType}>. Collection navigation properties must implement ICollection<> of the target type. + + + + + The type of navigation property '{navigation}' on the entity type '{entityType}' is '{foundType}' which is an array type.. Collection navigation properties cannot be arrays. + + + + + The navigation property '{navigation}' on the entity type '{entityType}' does not have a setter and no writable backing field was found or specified. Read-only collection navigation properties must be initialized before use. + + + + + The type of navigation property '{navigation}' on the entity type '{entityType}' is '{foundType}' for which it was not possible to create a concrete instance. Either initialize the property before use, add a public parameterless constructor to the type, or use a type which can be assigned a HashSet<> or List<>. + + + + + The property '{property}' on entity type '{entityType}' is part of a key and so cannot be modified or marked as modified. + + + + + The property '{property}' on entity type '{entityType}' is defined to be read-only after it has been saved, but its value has been modified or marked as modified. + + + + + The property '{property}' on entity type '{entityType}' is defined to be read-only before it is saved, but its value has been set to something other than a temporary or default value. + + + + + The property '{property}' on entity type '{entityType}' must be marked as read-only after it has been saved because it is part of a key. Key properties are always read-only once an entity has been saved for the first time. + + + + + The association between entity types '{firstType}' and '{secondType}' has been severed but the foreign key for this relationship cannot be set to null. If the dependent entity should be deleted, then setup the relationship to use cascade deletes. + + + + + The property '{property}' on entity type '{entityType}' is marked as null, but this cannot be saved because the property is marked as required. + + + + + The foreign key {foreignKey} cannot be added to the entity type '{entityType}' because a foreign key on the same properties already exists on entity type '{duplicateEntityType}' and also targets the key {key} on '{principalType}'. + + + + + The index {index} cannot be added to the entity type '{entityType}' because an index on the same properties already exists on entity type '{duplicateEntityType}'. + + + + + The key {key} cannot be added to the entity type '{entityType}' because a key on the same properties already exists on entity type '{duplicateEntityType}'. + + + + + The navigation property '{navigation}' cannot be added to the entity type '{entityType}' because the target entity type '{targetType}' is defined in shadow state and navigations properties cannot point to shadow state entities. + + + + + The specified entity type '{entityType}' is invalid. It should be either the dependent entity type '{dependentType}' or the principal entity type '{principalType}' or an entity type derived from one of them. + + + + + The entity type '{entityType}' cannot be added to the model because an entity with the same name already exists. + + + + + The annotation '{annotation}' cannot be added because an annotation with the same name already exists. + + + + + The annotation '{annotation}' was not found. Ensure that the annotation has been added. + + + + + The Include operator is not implemented by the current database provider. + + + + + The expression '{expression}' passed to the Include operator could not be bound. + + + + + The property '{property}' is not a navigation property of entity type '{entityType}'. The 'Include(string)' method can only be used with a '.' separated list of navigation property names. + + + + + Compiling query model: {newline}'{queryModel}' + + + + + Optimized query model: {newline}'{queryModel}' + + + + + Including navigation: '{navigation}' + + + + + The property '{property}' on entity type '{entityType}' cannot be marked as nullable/optional because the type of the property is '{propertyType}' which is not a nullable type. Any property can be marked as non-nullable/required, but only properties of nullable types and which are not part of primary key can be marked as nullable/optional. + + + + + An attempt was made to use the model while it was being created. A DbContext instance cannot be used inside OnModelCreating in any way that makes use of the model that is being created. + + + + + An attempt was made to use the context while it is being configured. A DbContext instance cannot be used inside OnConfiguring since it is still being configured at this point. + + + + + The entity type '{entityType}' cannot be removed because it is being referenced by foreign key {foreignKey} on '{referencingEntityType}'. All referencing foreign keys must be removed or redefined before the entity type can be removed. + + + + + The property '{property}' of the argument '{argument}' cannot be null. + + + + + The principal and dependent ends of the relationship cannot be flipped once foreign key or principal key properties have been specified. + + + + + The entity type '{type}' provided for the argument '{argumentName}' must be a reference type. + + + + + The relationship from '{referencingEntityTypeOrNavigation}' to '{referencedEntityTypeOrNavigation}' with foreign key properties {foreignKeyPropertiesWithTypes} cannot target the primary key {primaryKeyPropertiesWithTypes} because it is not compatible. Configure a principal key or a set of compatible foreign key properties for this relationship. + + + + + The key {key} on entity type '{entityType}' contains properties in shadow state - {shadowProperties}. + + + + + An exception was thrown while attempting to evaluate a LINQ query parameter expression. To show additional information call EnableSensitiveDataLogging() when overriding DbContext.OnConfiguring. + + + + + The '{factory}' cannot create a value generator for property '{property}' on entity type '{entityType}'. Only integer properties are supported. + + + + + A key cannot be configured on '{derivedType}' because it is a derived type. The key must be configured on the root type '{rootType}'. If you did not intend for '{rootType}' to be included in the model, ensure that it is not included in a DbSet property on your context, referenced in a configuration call to ModelBuilder, or referenced from a navigation property on a type that is included in the model. + + + + + The entity type '{entityType}' cannot inherit from '{baseEntityType}' because '{baseEntityType}' is a descendent of '{entityType}'. + + + + + Unable to set a base type for entity type '{entityType}' because it has one or more keys defined. + + + + + The edge cannot be added because the graph does not contain vertex '{vertex}'. + + + + + Unable to create an instance of type entity type '{entityType}' because it is abstract. Either make it non-abstract or consider mapping at least one derived type. + + + + + Entity type '{entityType}' is defined with a single key property, but {valuesCount} values were passed to the 'DbSet.Find' method. + + + + + Entity type '{entityType}' is defined with a {propertiesCount}-part composite key, but {valuesCount} values were passed to the 'DbSet.Find' method. + + + + + The key value at position {index} of the call to 'DbSet<{entityType}>.Find' was of type '{valueType}', which does not match the property type of '{propertyType}'. + + + + + The provided principal entity key '{principalKey}' is not a key on the entity type '{principalEntityType}'. + + + + + Property '{property}' on entity type '{entityType}' is of type '{actualType}' but the generic type provided is of type '{genericType}'. + + + + + The DbContextOptions passed to the {contextType} constructor must be a DbContextOptions<{contextType}>. When registering multiple DbContext types make sure that the constructor for each context type has a DbContextOptions<TContext> parameter rather than a non-generic DbContextOptions parameter. + + + + + Options extension of type '{optionsExtension}' not found. + + + + + The type '{entityType}' cannot have base type '{baseType}' because both types include the properties: {properties}. + + + + + The property '{property}' on entity type '{entityType}' cannot be marked as nullable/optional because the property is a part of a key. Any property can be marked as non-nullable/required, but only properties of nullable types and which are not part of a key can be marked as nullable/optional. + + + + + The foreign key {foreignKey} on entity type '{entityType}' cannot be marked as optional because it does not contain any property of a nullable type. Any foreign key can be marked as required, but only foreign keys with at least one property of a nullable type and which is not part of primary key can be marked as optional. + + + + + Entity type '{entityType}' is in shadow-state. A valid model requires all entity types to have corresponding CLR type. + + + + + Entity type '{entityType}' has composite primary key defined with data annotations. To set composite primary key, use fluent API. + + + + + The type '{entityType}' cannot have base type '{baseType}' because both types include the navigations: {navigations}. + + + + + The entity types '{firstEntityType}' and '{secondEntityType}' do not belong to the same model. + + + + + The block size used for Hi-Lo value generation must be positive. When the Hi-Lo generator is backed by a SQL sequence this means that the sequence increment must be positive. + + + + + The entity type related to '{entityType}' cannot be determined because the specified foreign key {foreignKey} references entity type '{principalEntityType}' that it is in the same hierarchy as the entity type that it is declared on '{dependentEntityType}'. + + + + + The entity type '{entityType}' cannot inherit from '{baseEntityType}' because '{baseEntityType}' is a shadow state entity type while '{entityType}' is not. + + + + + The entity type '{entityType}' cannot inherit from '{baseEntityType}' because '{entityType}' is a shadow state entity type while '{baseEntityType}' is not. + + + + + The entity type '{entityType}' cannot inherit from '{baseEntityType}' because '{clrType}' is not a descendent of '{baseClrType}'. + + + + + CLR property '{property}' cannot be added to entity type '{entityType}' because it is declared on the CLR type '{clrType}'. + + + + + The InversePropertyAttribute on property '{property}' on type '{entityType}' is not valid. The property '{referencedProperty}' is not a valid navigation property on the related type '{referencedEntityType}'. Ensure that the property exists and is a valid reference or collection navigation property. + + + + + A relationship cannot be established from property '{property}' on type '{entityType}' to property '{referencedProperty}' on type '{referencedEntityType}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property. + + + + + Data binding directly to a store query is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data to avoid sending a query to the database each time the databound control iterates the data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList(). For ASP.NET WebForms bind to DbSet.ToList() or use Model Binding. + + + + + The derived type '{derivedType}' cannot have KeyAttribute on property '{property}' since primary key can only be declared on the root type. + + + + + InversePropertyAttributes on navigation '{navigation}' in entity type '{entityType}' and on navigation '{referencedNavigation}' in entity type '{referencedEntityType}' are not pointing to each other. + + + + + There are multiple properties pointing to navigation '{navigation}' in entity type '{entityType}'. To define composite foreign key using data annotations, use ForeignKeyAttribute on navigation. + + + + + The ForeignKeyAttributes on property '{property}' and navigation '{navigation}' in entity type '{entityType}' do not point at each other. The value of ForeignKeyAttribute on property should be navigation name and the value of ForeignKeyAttribute on navigation should be the foreign key property name. + + + + + The property list specified using ForeignKeyAttribute on navigation '{navigation}' in entity type '{entityType}' is incorrect. The attribute value should be comma-separated list of property names. + + + + + Invalid relationship has been specified using InverseProperty and ForeignKey. The navigation '{navigation}' in entity type '{entityType}' and the navigation '{referencedNavigation}' in entity type '{referencedEntityType}' are related by InversePropertyAttribute but the ForeignKeyAttribute specified for both navigations have different values. + + + + + The property '{property}' cannot be added to the entity type '{entityType}' because a navigation property with the same name already exists on entity type '{duplicateEntityType}'. + + + + + The navigation property '{navigation}' cannot be added to the entity type '{entityType}' because a property with the same name already exists on entity type '{duplicateEntityType}'. + + + + + The specified entity type '{entityType}' is invalid. It should be either the dependent entity type '{dependentType}' or the principal entity type '{principalType}'. + + + + + The entity type '{entityType}' cannot be removed because '{derivedEntityType}' is derived from it. All derived entity types must be removed or redefined before the entity type can be removed. + + + + + Unable to determine the relationship represented by navigation property '{entityType}.{navigation}' of type '{propertyType}'. Either manually configure the relationship, or ignore this property from the model. + + + + + The property '{entityType}.{property}' could not be mapped, because it is of type '{propertyType}' which is not a supported primitive type or a valid entity type. Either explicitly map this property, or ignore it. + + + + + The property '{entityType}.{property}' is of type '{propertyType}' which is not supported by current database provider. Either change the property CLR type or manually configure the database type for it. + + + + + The property '{entityType}.{navigation}' is of an interface type ('{propertyType}'). If it is a navigation property manually configure the relationship for this property by casting it to a mapped entity type, otherwise ignore the property from the model. + + + + + The navigation property '{navigation}' on entity type '{entityType}' cannot be associated with foreign key {targetFk} because it was created for foreign key {actualFk}. + + + + + The entity type '{entityType}' was not found. Ensure that the entity type has been added to the model. + + + + + The extension method ‘{method}’ is being used with a custom implementation of ‘{interfaceType}’. Use of custom implementations of the Entity Framework metadata interfaces is not supported. Consider deriving from ‘{concreteType}’ instead. Please contact the Entity Framework team if you have a compelling case for a custom implementation of the metadata interfaces so that we can consider ways to achieve this. + + + + + Unhandled operation: MemberInitExpression binding is not a MemberAssignment + + + + + Unable to create or track an entity of type '{entityType}' because it has a null primary or alternate key value. + + + + + Sensitive data logging is enabled. Log entries and exception messages may include sensitive application data, this mode should only be enabled during development. + + + + + An exception was thrown while attempting to evaluate the LINQ query parameter expression '{expression}'. + + + + + There are multiple navigations in entity type '{entityType}' which are pointing to same set of properties - '{propertyList}' using ForeignKeyAttribute. + + + + + The entity type '{entityType}' should derive from '{baseEntityType}' to reflect the hierarchy of the corresponding CLR types. + + + + + You are configuring a relationship between '{dependentEntityType}' and '{principalEntityType}' but have specified a foreign key on '{entityType}'. The foreign key must be defined on a type that is part of the relationship. + + + + + You are configuring a relationship between '{dependentEntityType}' and '{principalEntityType}' but have specified a foreign key targeting '{entityType}'. The foreign key must be targeting a type that is part of the relationship. + + + + + The property '{property}' cannot be part of a foreign key on '{entityType}' because it is contained in a key defined on a base entity type. + + + + + The property '{property}' cannot be part of a key on '{entityType}' because it is contained in a foreign key defined on a derived entity type. + + + + + A key on entity type '{entityType}' cannot contain the property '{property}' because it is nullable/optional. All properties on which a key is declared must be marked as non-nullable/required. + + + + + A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe. + + + + + The specified entity types '{invalidDependentType}' and '{invalidPrincipalType}' are invalid. They should be '{dependentType}' and '{principalType}' or entity types in the same hierarchy. + + + + + Cannot create a DbSet for '{typeName}' because this type is not included in the model for the context. + + + + + The child/dependent side could not be determined for the one-to-one relationship that was detected between '{dependentToPrincipalNavigationSpecification}' and '{principalToDependentNavigationSpecification}'. To identify the child/dependent side of the relationship, configure the foreign key property. See http://go.microsoft.com/fwlink/?LinkId=724062 for more details. + + + + + The property expression '{propertyAccessExpression}' is not valid. The expression should represent a property access: 't => t.MyProperty'. For more information on including related data, see http://go.microsoft.com/fwlink/?LinkID=746393. + + + + + The corresponding CLR type for entity type '{entityType}' is not instantiable and there is no derived entity type in the model that corresponds to a concrete CLR type. + + + + + The property '{property}' cannot be added to the type '{entityType}' because there was no property type specified and there is no corresponding CLR property or field. To add a shadow state property the property type must be specified. + + + + + The property '{property}' on entity type '{entityType}' has a temporary value. Either set a permanent value explicitly or ensure that the database is configured to generate values for this property. + + + + + The database generated a null value for non-nullable property '{property}' of entity type '{entityType}'. Ensure value generation configuration in the database matches the configuration in the model. + + + + + Sequence contains more than one element + + + + + Sequence contains no elements + + + + + A parameterless constructor was not found on entity type '{entityType}'. In order to create an instance of '{entityType}' EF requires that a parameterless constructor be declared. + + + + + The Include operation for navigation: '{navigation}' was ignored because the target navigation is not reachable in the final query results. + + + + + Cannot create a relationship between '{newPrincipalEntityType}.{newPrincipalNavigation}' and '{newDependentEntityType}.{newDependentNavigation}', because there already is a relationship between '{existingPrincipalEntityType}.{existingPrincipalNavigation}' and '{existingDependentEntityType}.{existingDependentNavigation}'. Navigation properties can only participate in a single relationship. + + + + + Warning as error exception for warning '{eventId}': {message} To suppress this Exception use the DbContextOptionsBuilder.ConfigureWarnings API. ConfigureWarnings can be used when overriding the DbContext.OnConfiguring method or using AddDbContext on the application service provider. + + + + + {message} To configure this warning use the DbContextOptionsBuilder.ConfigureWarnings API (event id '{eventId}'). ConfigureWarnings can be used when overriding the DbContext.OnConfiguring method or using AddDbContext on the application service provider. + + + + + Cannot access a disposed object. A common cause of this error is disposing a context that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling Dispose() on the context, or wrapping the context in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. + + + + + Unable to resolve service for type '{service}'. This is often because no database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext. + + + + + An exception occured while reading a database value for property '{entityType}.{property}'. See the inner exception for more information. + + + + + An exception occured while reading a database value for property '{entityType}.{property}'. The expected type was '{expectedType}' but the actual value was of type '{actualType}'. + + + + + An exception occured while reading a database value for property '{entityType}.{property}'. The expected type was '{expectedType}' but the actual value was null. + + + + + An exception occured while reading a database value. See the inner exception for more information. + + + + + An exception occured while reading a database value. The expected type was '{expectedType}' but the actual value was of type '{actualType}'. + + + + + An exception occured while reading a database value. The expected type was '{expectedType}' but the actual value was null. + + + + + The property '{property}' cannot be ignored on entity type '{entityType}', because it's declared on the base entity type '{baseEntityType}'. To exclude this property from your model, use NotMappedAttribute or Ignore method on the base type. + + + + + Maximum number of retries ({retryLimit}) exceeded while executing database operations with '{strategy}'. See inner exception for the most recent failure. + + + + + The configured execution strategy '{strategy}' does not support user initiated transactions. Use the execution strategy returned by '{getExecutionStrategyMethod}' to execute all the operations in the transaction as a retriable unit. + + + + + Cannot call Property for the property '{property}' on entity type '{entityType}' because it is configured as a navigation property. Property can only be used to configure scalar properties. + + + + + The property '{property}' cannot be removed from entity type '{entityType}' because it is being used in the foreign key {foreignKey} on '{foreignKeyType}'. All containing foreign keys must be removed or redefined before the property can be removed. + + + + + The property '{property}' cannot be removed from entity type '{entityType}' because it is being used in the index {index} on '{indexType}'. All containing indexes must be removed or redefined before the property can be removed. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Extension methods for . + + + These methods are typically used by database providers (and other extensions). They are generally + not used in application code. + + + is used to hide properties that are not intended to be used in + application code but can be used in extension methods written by database providers etc. + + + + + + + Resolves a service from the exposed from a type that implements + . + + + This method is typically used by database providers (and other extensions). It is generally + not used in application code. + + + is used to hide properties that are not intended to be used in + application code but can be used in extension methods written by database providers etc. + + + The type of service to be resolved. + The object exposing the service provider. + The requested service. + + + + + Gets the value from a property that is being hidden using . + + + This method is typically used by database providers (and other extensions). It is generally + not used in application code. + + + is used to hide properties that are not intended to be used in + application code but can be used in extension methods written by database providers etc. + + + The type of the property being hidden by . + The object that exposes the property. + The object assigned to the property. + + + + + Base class for types that support reading and writing annotations. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets all annotations on the current object. + + + + + Adds an annotation to this object. Throws if an annotation with the specified name already exists. + + The key of the annotation to be added. + The value to be stored in the annotation. + The newly added annotation. + + + + Adds an annotation to this object. Throws if an annotation with the specified name already exists. + + The key of the annotation to be added. + The annotation to be added. + The added annotation. + + + + Sets the annotation stored under the given key. Overwrites the existing annotation if an + annotation with the specified name already exists. + + The key of the annotation to be added. + The annotation to be set. + The annotation that was set. + + + + Runs the corresponding conventions when an annotation was set or removed. + + The key of the set annotation. + The annotation set. + The old annotation. + The annotation that was set. + + + + Adds an annotation to this object or returns the existing annotation if one with the specified name + already exists. + + The key of the annotation to be added. + The value to be stored in the annotation. + + The existing annotation if an annotation with the specified name already exists. Otherwise, the newly + added annotation. + + + + + Gets the annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Removes the given annotation from this object. + + The annotation to remove. + The annotation that was removed. + + + + Gets the value annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The value of the existing annotation if an annotation with the specified name already exists. + Otherwise, null. + + + + + Creates a new annotation. + + The key of the annotation. + The value to be stored in the annotation. + The newly created annotation. + + + + Gets all annotations on the current object. + + + + + Gets the annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Extension methods for . + + + + + Gets the annotation with the given name, throwing if it does not exist. + + The object to find the annotation on. + The key of the annotation to find. + The annotation with the specified name. + + + + + An arbitrary piece of metadata that can be stored on an object that implements . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The key of this annotation. + The value assigned to this annotation. + + + + Gets the key of this annotation. + + + + + Gets the value assigned to this annotation. + + + + + Values that are used as the eventId when logging messages from the core Entity Framework components. + + + + + An error occurred while accessing the database. + + + + + A LINQ query is being compiled. + + + + + An object model representing a LINQ query was optimized. + + + + + A navigation property that was included in a LINQ query is being processed. + + + + + An execution expression was calculated by compiling a LINQ query. + + + + + A query specified an Include operation that was ignored because the included navigation was not reachable in the final query result. + + + + + A warning that sensitive data logging is enabled. + + + + + A warning during model validation. + + + + + Provides access to database related information and operations for a context. + Instances of this class are typically obtained from and it is not designed + to be directly constructed in your application code. + + + + + Initializes a new instance of the class. Instances of this class are typically + obtained from and it is not designed to be directly constructed + in your application code. + + The context this database API belongs to . + + + + + Ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + + Note that this API does not use migrations to create the database. In addition, the database that is + created cannot be later updated using migrations. If you are targeting a relational database and using migrations, + you can use the DbContext.Database.Migrate() method to ensure the database is created and all migrations + are applied. + + + True if the database is created, false if it already existed. + + + + + Asynchronously ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + + Note that this API does not use migrations to create the database. In addition, the database that is + created cannot be later updated using migrations. If you are targeting a relational database and using migrations, + you can use the DbContext.Database.Migrate() method to ensure the database is created and all migrations + are applied. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is created, + false if it already existed. + + + + + + Ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + True if the database is deleted, false if it did not exist. + + + + + Asynchronously ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is deleted, + false if it did not exist. + + + + + Starts a new transaction. + + + A that represents the started transaction. + + + + + Asynchronously starts a new transaction. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous transaction initialization. The task result contains a + that represents the started transaction. + + + + + Applies the outstanding operations in the current transaction to the database. + + + + + Discards the outstanding operations in the current transaction. + + + + + Creates an instance of the configured . + + An instance. + + + + + Gets the current being used by the context, or null + if no transaction is in use. + + + This property will be null unless one of the 'BeginTransaction' or 'UseTransaction' methods has + been called, some of which are available as extension methods installed by EF providers. + No attempt is made to obtain a transaction from the current DbConnection or similar. + + + For relational databases, the underlying DbTransaction can be obtained using the + 'Microsoft.EntityFrameworkCore.Storage.GetDbTransaction'extension method + on the returned . + + + + + + + Gets or sets a value indicating whether or not a transaction will be created + automatically by if none of the + 'BeginTransaction' or 'UseTransaction' methods have been called. + + + Setting this value to false will also disable the + for + + + The default value is true, meaning that SaveChanges will always use a transaction + when saving changes. + + + Setting this value to false should only be done with caution since the database + could be left in a corrupted state if SaveChanges fails. + + + + + + + Gets the scoped being used to resolve services. + + + This property is intended for use by extension methods that need to make use of services + not directly exposed in the public API surface. + + + + + + Identifies the that a class belongs to. For example, this attribute is used + to identify which context a migration applies to. + + + + + Initializes a new instance of the class. + + The associated context. + + + + Gets the associated context. + + + + + Provides information about the environment an application is running in. + + + + + Gets or sets the directory containing the application. + + + + + Gets or sets the directory containing the application content files. + + + + + Gets or sets the name of the environment. + + + + + + Identifies where to find the design time services for a given database provider. This attribute should + be present in the primary assembly of the database provider. + + + This attribute is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + + The name of the type that can be used to add the database providers design time services to a . + This type should contain a method with the following signature + public IServiceCollection ConfigureDesignTimeServices(IServiceCollection serviceCollection). + + + The name of the assembly that contains the design time services. + + + The NuGet package name that contains the design time services. + + + + + Gets the name of the type that can be used to add the database providers design time services to a . + This type should contain a method with the following signature + public IServiceCollection ConfigureDesignTimeServices(IServiceCollection serviceCollection). + + + + + Gets the name of the assembly that contains the design time services. + + + + + Gets the NuGet package name that contains the design time services. + + + + + Extension methods for setting up Entity Framework related services in an . + + + + + Adds the services required by the core of Entity Framework to an . + You use this method when using dependency injection in your application, such as with ASP.NET. + For more information on setting up dependency injection, see http://go.microsoft.com/fwlink/?LinkId=526890. + + + + You only need to use this functionality when you want Entity Framework to resolve the services it uses + from an external . If you are not using an external + Entity Framework will take care of creating the services it requires. + + + The database you are using will also define extension methods that can be called on the returned + to register the services required by the database. + For example, when using Microsoft.EntityFrameworkCore.SqlServer you would call + collection.AddEntityFrameworkSqlServer(). + + + For derived contexts to be registered in the and resolve their services + from the you must chain a call to the + + method on the returned . + + + + + public void ConfigureServices(IServiceCollection services) + { + var connectionString = "connection string to database"; + + services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString)); + } + + + The to add services to. + + A builder that allows further Entity Framework specific setup of the . + + + + + Provides Entity Framework specific APIs for configuring services in an . + These APIs are usually accessed by calling + + and then chaining API calls on the returned . + + + + + Initializes a new instance of the class. + + The being configured. + + + + + Gets the being configured. + + + This property is intended for use by extension methods that need to make use of services + not directly exposed in the public API surface. + + + + + + + This interface is explicitly implemented by type to hide properties that are not intended to be used in application code + but can be used in extension methods written by database providers etc. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + The type of the property being hidden. + + + + Gets the value of the property being hidden. + + + + + + A class that exposes annotations. Annotations allow for arbitrary metadata to be stored on an object. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the value annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The value of the existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Gets the annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Gets all annotations on the current object. + + + + + + An arbitrary piece of metadata that can be stored on an object that implements . + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the key of this annotation. + + + + + Gets the value assigned to this annotation. + + + + + A factory for creating derived instances. Implement this interface to enable + design-time services for context types that do not have a public default constructor. At design-time, + derived instances can be created in order to enable specific design-time + experiences such as Migrations. Design-time services will automatically discover implementations of + this interface that are in the same assembly as the derived context. + + The type of the context. + + + + Creates a new instance of a derived context. + + Information about the environment an application is running in. + An instance of . + + + + The options to be used by a . You normally override + or use a + to create instances of classes that implement this interface, they are not designed to be directly created + in your application code. + + + + + Gets the extensions that store the configured options. + + + + + Gets the extension of the specified type. Returns null if no extension of the specified type is configured. + + The type of the extension to get. + The extension, or null if none was found. + + + + + Explicitly implemented by to hide methods that are used by database provider + extension methods but not intended to be called by application developers. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + + Adds the given extension to the options. If an existing extension of the same type already exists, it will be replaced. + + + This property is intended for use by extension methods to configure the context. It is not intended to be used in + application code. + + + The type of extension to be added. + The extension to be added. + + + + + Interface for extensions that are stored in . + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Adds the services required to make the selected options work. This is used when there is no external + and EF is maintaining its own service provider internally. This allows database providers (and other extensions) to register their + required services when EF is creating an service provider. + + The collection to add services to. + + + + Enables configuring design-time services. Tools will automatically discover implementations of this + interface that are in the startup assembly. + + + + + Configures design-time services. Use this method to override the default design-time services with your + own implementations. + + The design-time service collection. + + + + + Creates keys that uniquely identifies the model for a given context. This is used to store and lookup + a cached model for a given context. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the model cache key for a given context. + + + The context to get the model cache key for. + + The created key. + + + + + Performs additional configuration of the model in addition to what is discovered by convention. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + + Builds the model for a given context. + + + If any instance data from is + used when building the model, then the implementation of + also needs to be updated to ensure the model is cached correctly. + + + + The builder being used to construct the model. + + + The context instance that the model is being created for. + + + + + + Produces an based on a context. This is typically implemented by database providers to ensure that any + conventions + and validation specific to their database are used. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the model to be used. + + The context the model is being produced for. + The convention set to use when creating the model. + The validator to verify the model can be successfully used with the context. + The model to be used. + + + + An for which logging of sensitive data can be enabled or disabled. + + + + + Gets a value indicating whether sensitive data should be logged. + + + + + An for which logging of sensitive data can be enabled or disabled. + + The type who's name is used for the logger category name. + + + + + A key that uniquely identifies the model for a given context. This is used to store and lookup + a cached model for a given context. This default implementation uses the context type as they key, thus + assuming that all contexts of a given type have the same model. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + + The context instance that this key is for. + + + + + Determines if this key is equivalent to a given key (i.e. if they are for the same context type). + + + The key to compare this key to. + + + True if the key is for the same context type, otherwise false. + + + + + Determines if this key is equivalent to a given object (i.e. if they are keys for the same context type). + + + The object to compare this key to. + + + True if the object is a and is for the same context type, otherwise false. + + + + + Gets the hash code for the key. + + + The hash code for the key. + + + + + + Creates keys that uniquely identifies the model for a given context. This is used to store and lookup + a cached model for a given context. This default implementation uses the context type as they key, thus + assuming that all contexts of a given type have the same model. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the model cache key for a given context. + + + The context to get the model cache key for. + + The created key. + + + + + Builds the model for a given context. This default implementation builds the model by calling + on the context. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Performs additional configuration of the model in addition to what is discovered by convention. This default implementation + builds the model for a given context by calling + on the context. + + + The builder being used to construct the model. + + + The context instance that the model is being created for. + + + + + + A base implementation of that produces a model based on the properties + exposed on the context. The model is cached to avoid recreating it every time it is requested. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the that will locate the properties + on the derived context. + + + + + Gets the that will build the conventions to be used + to build the model. + + + + + Gets the that will perform additional configuration of the model + in addition to what is discovered by convention. + + + + + Gets the that will create keys used to store and lookup models + the model cache. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Returns the model from the cache, or creates a model if it is not present in the cache. + + The context the model is being produced for. + The convention set to use when creating the model. + The validator to verify the model can be successfully used with the context. + The model to be used. + + + + Creates the model. This method is called when the model was not found in the cache. + + The context the model is being produced for. + The convention set to use when creating the model. + The validator to verify the model can be successfully used with the context. + The model to be used. + + + + Creates the convention set to be used for the model. Uses the + if is null. + + The convention set builder to be used. + The convention set to be used. + + + + Adds the entity types found in properties on the context to the model. + + The being used to build the model. + The context to find properties on. + + + + + A wrapping logger for which logging of sensitive data can be enabled or disabled. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + The type who's name is used for the logger category name. + + + + Initializes a new instance of the class. + + + The underlying logger to which logging information should be written. + + + The options for the context that this logger is being used with. + + + + + Gets a value indicating whether sensitive information should be written to the underlying logger. + + + + + + Configures the runtime behavior of warnings generated by Entity Framework. You can set a default behavior and behaviors for + each warning type. + + + This class is used within the + API and it is not designed to be directly constructed in your application code. + + + + + + + Initializes a new instance of the class. + + + This class is used within the + API and it is not designed to be directly constructed in your application code. + + + The internal object used to store configuration. + + + + Gets the internal object used to store configuration. + + + + + Sets the default behavior when a warning is generated. + + The desired behavior. + The same builder instance so that multiple calls can be chained. + + + + Causes an exception to be thrown when the specified core warnings are generated. Database providers (and other extensions) + may provide extension method overloads of this method to configure this behavior for warnings they generate. + + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + Causes a warning to be logged when the specified core warnings are generated. Database providers (and other extensions) + may provide extension method overloads of this method to configure this behavior for warnings they generate. + + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + Causes nothing to happen when the specified core warnings are generated. Database providers (and other extensions) + may provide extension method overloads of this method to configure this behavior for warnings they generate. + + + The (s) for the warnings. + + The same builder instance so that multiple calls can be chained. + + + + Indicates how the context detects changes to properties for an instance of the entity type. + + + + + Original values are recorded when an entity is queried from the database. Changes are detected by scanning the + current property values and comparing them to the recorded values. This scanning takes place when + is called, or when another API call (such as ) + triggers the change detection process. + + + + + To use this strategy, the entity class must implement . + Original values are recorded when an entity is queried from the database. Properties are marked as modified when the + entity raises the event. + + + + + + To use this strategy, the entity class must implement and + . + Original values are recorded when the entity raises the event. Properties + are + marked as modified when the entity raises the event. + + + Original values are only recorded when they are required to save changes to the entity. For example, properties that are configured + as + concurrency tokens. + + + + + + + To use this strategy, the entity class must implement and + . + Original values are recorded when the entity raises the . Properties are + marked as modified when the entity raises the event. + + + Original values are only recorded for all properties, regardless of whether they are required to save changes to the entity. + + + + + + Indicates how a delete operation is applied to dependent entities in a relationship when the principal is deleted + or the relationship is severed. + + + + + The delete operation is not applied to dependent entities. The dependent entities remain unchanged. + + + + + The foreign key properties in dependent entities are set to null. This cascading behavior is only applied + to entities that are being tracked by the context. A corresponding cascade behavior should be setup in the + database to ensure data that is not being tracked by the context has the same action applied. If you use + EF to create the database, this cascade behavior will be setup for you. + + + + + Dependent entities are also deleted. This cascading behavior is only applied + to entities that are being tracked by the context. A corresponding cascade behavior should be setup in the + database to ensure data that is not being tracked by the context has the same action applied. If you use + EF to create the database, this cascade behavior will be setup for you. + + + + + Represents an entity type in an . + + + + + Gets the base type of the entity. Returns null if this is not a derived type in an inheritance hierarchy. + + + + + + Gets primary key for this entity. Returns null if no primary key is defined. + + + To be a valid model, each entity type must have a primary key defined. Therefore, the primary key may be + null while the model is being created, but will be present by the time the model is used with a . + + + The primary key, or null if none is defined. + + + + Gets the primary or alternate key that is defined on the given properties. Returns null if no key is defined + for the given properties. + + The properties that make up the key. + The key, or null if none is defined. + + + + Gets the primary and alternate keys for this entity. + + The primary and alternate keys. + + + + Gets the foreign key for the given properties that points to a given primary or alternate key. Returns null + if no foreign key is found. + + The properties that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The foreign key, or null if none is defined. + + + + Gets the foreign keys defined on this entity. + + The foreign keys defined on this entity. + + + + Gets the index defined on the given properties. Returns null if no index is defined. + + The properties to find the index on. + The index, or null if none is found. + + + + Gets the indexes defined on this entity. + + The indexes defined on this entity. + + + + + Gets the property with a given name. Returns null if no property with the given name is defined. + + + This API only finds scalar properties and does not find navigation properties. Use + to find a navigation property. + + + The name of the property. + The property, or null if none is found. + + + + + Gets the properties defined on this entity. + + + This API only returns scalar properties and does not return navigation properties. Use + to get navigation properties. + + + The properties defined on this entity. + + + + Gets the model that this type belongs to. + + + + + Gets the name of this type. + + + + + + Gets the CLR class that is used to represent instances of this type. Returns null if the type does not have a + corresponding CLR class (known as a shadow type). + + + Shadow types are not currently supported in a model that is used at runtime with a . + Therefore, shadow types will only exist in migration model snapshots, etc. + + + + + + Represents a relationship where a foreign key property(s) in a dependent entity type + reference a corresponding primary or alternate key in a principal entity type. + + + + + Gets the dependent entity type. This may be different from the type that + are defined on when the relationship is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + Gets the foreign key properties in the dependent entity. + + + + + Gets the principal entity type that this relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance + hierarchy (since the key is defined on the base type of the hierarchy). + + + + + Gets the primary or alternate key that the relationship targets. + + + + + Gets the navigation property on the dependent entity type that points to the principal entity. + + + + + Gets the navigation property on the principal entity type that points to the dependent entity. + + + + + Gets a value indicating whether the values assigned to the foreign key properties are unique. + + + + + Gets a value indicating if this relationship is required. If true, the dependent entity must always be + assigned to a valid principal entity. + + + + + Gets a value indicating how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + + + + Represents an index on a set of properties. + + + + + Gets the properties that this index is defined on. + + + + + Gets a value indicating whether the values assigned to the indexed properties are unique. + + + + + Gets the entity type the index is defined on. This may be different from the type that + are defined on when the index is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + Represents a primary or alternate key on an entity. + + + + + Gets the properties that make up the key. + + + + + Gets the entity type the key is defined on. This may be different from the type that + are defined on when the key is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + Metadata about the shape of entities, the relationships between them, and how they map to the database. A model is typically + created by overriding the method on a derived context, or + using . + + + + + Gets all entity types defined in the model. + + All entity types defined in the model. + + + + Gets the entity type with the given name. Returns null if no entity type with the given name is found. + + The name of the entity type to find. + The entity type, or null if none are found. + + + + + A class that exposes annotations that can be modified. Annotations allow for arbitrary metadata to be + stored on an object. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets or sets the value of the annotation with the given name. + + The key of the annotation. + + The value of the existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Gets all annotations on the current object. + + + + + Adds an annotation to this object. Throws if an annotation with the specified name already exists. + + The key of the annotation to be added. + The value to be stored in the annotation. + The newly added annotation. + + + + Gets the annotation with the given name, returning null if it does not exist. + + The key of the annotation to find. + + The existing annotation if an annotation with the specified name already exists. Otherwise, null. + + + + + Removes the given annotation from this object. + + The annotation to remove. + The annotation that was removed. + + + + + Represents an entity in an . + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the model this entity belongs to. + + + + + Gets or sets the base type of the entity. Returns null if this is not a derived type in an inheritance hierarchy. + + + + + Sets the primary key for this entity. + + The properties that make up the primary key. + The newly created key. + + + + + Gets primary key for this entity. Returns null if no primary key is defined. + + + To be a valid model, each entity type must have a primary key defined. Therefore, the primary key may be + null while the model is being created, but will be present by the time the model is used with a . + + + The primary key, or null if none is defined. + + + + Adds a new alternate key to this entity type. + + The properties that make up the alternate key. + The newly created key. + + + + Gets the primary or alternate key that is defined on the given properties. Returns null if no key is defined + for the given properties. + + The properties that make up the key. + The key, or null if none is defined. + + + + Gets the primary and alternate keys for this entity. + + The primary and alternate keys. + + + + Removes a primary or alternate key from this entity. + + The properties that make up the key. + The key that was removed. + + + + Adds a new relationship to this entity. + + The properties that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The newly created foreign key. + + + + Gets the foreign key for the given properties that points to a given primary or alternate key. Returns null + if no foreign key is found. + + The properties that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The foreign key, or null if none is defined. + + + + Gets the foreign keys defined on this entity. + + The foreign keys defined on this entity. + + + + Removes a relationship from this entity. + + The properties that the foreign key is defined on. + The primary or alternate key that is referenced. + + The entity type that the relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance hierarchy (since the key is defined on the + base type of the hierarchy). + + The foreign key that was removed. + + + + Adds an index to this entity. + + The properties that are to be indexed. + The newly created index. + + + + Gets the index defined on the given properties. Returns null if no index is defined. + + The properties to find the index on. + The index, or null if none is found. + + + + Gets the indexes defined on this entity. + + The indexes defined on this entity. + + + + Removes an index from this entity. + + The properties that make up the index. + The index that was removed. + + + + Adds a property to this entity. + + The name of the property to add. + The type of value the property will hold. + The newly created property. + + + + + Gets the property with a given name. Returns null if no property with the given name is defined. + + + This API only finds scalar properties and does not find navigation properties. Use + to find + a navigation property. + + + The name of the property. + The property, or null if none is found. + + + + + Gets the properties defined on this entity. + + + This API only returns scalar properties and does not return navigation properties. Use + to get navigation + properties. + + + The properties defined on this entity. + + + + Removes a property from this entity. + + The name of the property to remove. + The property that was removed. + + + + + Represents a relationship where a foreign key property(s) in a dependent entity type + reference a corresponding primary or alternate key in a principal entity type. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the foreign key properties in the dependent entity. + + + + + Gets the primary or alternate key that the relationship targets. + + + + + Gets the dependent entity type. This may be different from the type that + are defined on when the relationship is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + Gets the principal entity type that this relationship targets. This may be different from the type that + is defined on when the relationship targets a derived type in an inheritance + hierarchy (since the key is defined on the base type of the hierarchy). + + + + + Gets the navigation property on the dependent entity type that points to the principal entity. + + + + + Gets the navigation property on the principal entity type that points to the dependent entity. + + + + + Sets the navigation property on the dependent entity type that points to the principal entity. + + + The name of the navigation property on the dependent type. Passing null will result in there being + no navigation property defined. + + The newly created navigation property. + + + + Sets the navigation property on the dependent entity type that points to the principal entity. + + + The navigation property on the dependent type. Passing null will result in there being + no navigation property defined. + + The newly created navigation property. + + + + Sets the navigation property on the principal entity type that points to the dependent entity. + + + The name of the navigation property on the principal type. Passing null will result in there being + no navigation property defined. + + The newly created navigation property. + + + + Sets the navigation property on the principal entity type that points to the dependent entity. + + + The name of the navigation property on the principal type. Passing null will result in there being + no navigation property defined. + + The newly created navigation property. + + + + Gets or sets a value indicating whether the values assigned to the foreign key properties are unique. + + + + + Gets or sets a value indicating if this relationship is required. If true, the dependent entity must always be + assigned to a valid principal entity. + + + + + Gets or sets a value indicating how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + + + + + Represents an index on a set of properties. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets or sets a value indicating whether the values assigned to the indexed properties are unique. + + + + + Gets the properties that this index is defined on. + + + + + Gets the entity type the index is defined on. This may be different from the type that + are defined on when the index is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + + Represents a primary or alternate key on an entity. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the properties that make up the key. + + + + + Gets the entity type the key is defined on. This may be different from the type that + are defined on when the key is defined a derived type in an inheritance hierarchy (since the properties + may be defined on a base type). + + + + + + Metadata about the shape of entities, the relationships between them, and how they map to the database. A model is typically + created by overriding the method on a derived context, or + using . + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + + Adds a shadow state entity type to the model. + + + Shadow entities are not currently supported in a model that is used at runtime with a . + Therefore, shadow state entity types will only exist in migration model snapshots, etc. + + + The name of the entity to be added. + The new entity type. + + + + Adds an entity type to the model. + + The CLR class that is used to represent instances of this entity type. + The new entity type. + + + + Gets the entity with the given name. Returns null if no entity type with the given name is found. + + The name of the entity type to find. + The entity type, or null if none are found. + + + + Removes an entity type from the model. + + The name of the entity type to be removed. + The entity type that was removed. + + + + Gets all entity types defined in the model. + + All entity types defined in the model. + + + + + Represents a navigation property which can be used to navigate a relationship. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the type that this property belongs to. + + + + + Gets the foreign key that defines the relationship this navigation property will navigate. + + + + + + Represents a scalar property of an entity. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the type that this property belongs to. + + + + + Gets or sets a value indicating whether this property can contain null. + + + + + Gets or sets a value indicating when a value for this property will be generated by the database. Even when the + property is set to be generated by the database, EF may still attempt to save a specific value (rather than + having one generated by the database) when the entity is added and a value is assigned, or the property is + marked as modified for an existing entity. See for more information. + + + + + Gets or sets a value indicating whether or not this property can be modified before the entity is + saved to the database. If true, an exception will be thrown if a value is assigned to + this property when it is in the state. + + + + + Gets or sets a value indicating whether or not this property can be modified after the entity is + saved to the database. If true, an exception will be thrown if a new value is assigned to + this property after the entity exists in the database. + + + + + Gets or sets a value indicating whether this property requires a to generate + values when new entities are added to the context. + + + + + Gets or sets a value indicating whether this property is used as a concurrency token. When a property is configured + as a concurrency token the value in the database will be checked when an instance of this entity type + is updated or deleted during to ensure it has not changed since + the instance was retrieved from the database. If it has changed, an exception will be thrown and the + changes will not be applied to the database. + + + + + Gets or sets a value indicating whether or not the database will always generate a value for this property. + If set to true, a value will always be read back from the database whenever the entity is saved + regardless of the state of the property. If set to false, whenever a value is assigned to the property + (or marked as modified) EF will attempt to save that value to the database rather than letting the + database generate one. + + + + + + Base type for navigation and scalar properties. + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the type that this property belongs to. + + + + + + Represents a type in an . + + + This interface is used during model creation and allows the metadata to be modified. + Once the model is built, represents a ready-only view of the same metadata. + + + + + + Gets the model that this type belongs to. + + + + + Represents a navigation property which can be used to navigate a relationship. + + + + + Gets the entity type that this property belongs to. + + + + + Gets the foreign key that defines the relationship this navigation property will navigate. + + + + + Represents a scalar property of an entity. + + + + + Gets the entity type that this property belongs to. + + + + + Gets a value indicating whether this property can contain null. + + + + + Gets a value indicating whether or not this property can be modified before the entity is + saved to the database. If true, an exception will be thrown if a value is assigned to + this property when it is in the state. + + + + + Gets a value indicating whether or not this property can be modified after the entity is + saved to the database. If true, an exception will be thrown if a new value is assigned to + this property after the entity exists in the database. + + + + + Gets a value indicating whether or not the database will always generate a value for this property. + If set to true, a value will always be read back from the database whenever the entity is saved + regardless of the state of the property. If set to false, whenever a value is assigned to the property + (or marked as modified) EF will attempt to save that value to the database rather than letting the + database generate one. + + + + + Gets a value indicating when a value for this property will be generated by the database. Even when the + property is set to be generated by the database, EF may still attempt to save a specific value (rather than + having one generated by the database) when the entity is added and a value is assigned, or the property is + marked as modified for an existing entity. See for more information. + + + + + Gets a value indicating whether this property requires a to generate + values when new entities are added to the context. + + + + + Gets a value indicating whether this property is used as a concurrency token. When a property is configured + as a concurrency token the value in the database will be checked when an instance of this entity type + is updated or deleted during to ensure it has not changed since + the instance was retrieved from the database. If it has changed, an exception will be thrown and the + changes will not be applied to the database. + + + + + Gets the type of value that this property holds. + + + + + Gets a value indicating whether this is a shadow property. A shadow property is one that does not have a + corresponding property in the entity class. The current value for the property is stored in + the rather than being stored in instances of the entity class. + + + + + Base type for navigation and scalar properties. + + + + + Gets the entity type that this property belongs to. + + + + + Gets the name of the property. + + + + + Gets the type that this property belongs to. + + + + + Gets the type of value that this property holds. + + + + + Gets the for the underlying CLR property that this + object represents. This may be null for shadow properties or properties mapped directly to fields. + + + + + Gets the for the underlying CLR field that this + object represents. This may be null for shadow properties or if the backing field for the + property is not known. + + + + + Gets a value indicating whether this is a shadow property. A shadow property is one that does not have a + corresponding property in the entity class. The current value for the property is stored in + the rather than being stored in instances of the entity class. + + + + + Represents a type in an . + + + + + Gets the model that this type belongs to. + + + + + Gets the name of this type. + + + + + + Gets the CLR class that is used to represent instances of this type. Returns null if the type does not have a + corresponding CLR class (known as a shadow type). + + + Shadow types are not currently supported in a model that is used at runtime with a . + Therefore, shadow types will only exist in migration model snapshots, etc. + + + + + + + Pass a value from this enum to , + , or + to change whether the property + or backing field will be used when reading and writing to a property or field. + + + If no access mode is set, then the backing field for a property will be used if possible + when constructing new instances of the entity. The property getter or setter will be used, + if possible, for all other accesses of the property. Note that when it is not possible + to use the field because it could not be found by convention and was not specified using + , then the property will be used instead. Likewise, + when it is not possible to use the property getter or setter, for example when the + property is read-only, then the field will be used instead. + + + + + + + Enforces that all accesses to the property must go through the field. + + + An exception will be thrown if this mode is set and it is not possible to read + from or write to the field. + + + + + + + Enforces that all accesses to the property must go through the field when + new instances are being constructed. New instances are typically constructed when + entities are queried from the database. + An exception will be thrown if this mode is set and it is not possible to + write to the field. + + + All other uses of the property will go through the property getters and setters, + unless this is not possible because, for example, the property is read-only, in which + case these accesses will also use the field. + + + This access mode is similar to the default mode used if none has been set except + that it will throw an exception if it is not possible to write to the field for + entity construction. The default access mode will fall back to using the property + instead. + + + + + + + Enforces that all accesses to the property must go through the property + getters and setters, even when new objects are being constructed. + + + An exception will be thrown if this mode is set and it is not possible to read + from or write to the property, for example because it is read-only. + + + + + + + Creates instances of that have no conventions. This is useful when + Exhaustively configuring a model based on some existing metadata. + + + This is typically not used in application code since building a model by overriding + or using + directly is much easier. + + + + + + Creates an empty model with no conventions. All aspects of the model must be exhaustively configured. + + The newly created model. + + + + Indicates when a value for a property will be generated by the database. Even when a + property is set to be generated by the database, EF may still attempt to save a specific value (rather than + having one generated by the database) when an entity is added and a value is assigned, or the property is + marked as modified for an existing entity. + + + + + A value is never generated by the database. + + + + + A value is generated by the database when an entity is added. The most common scenario for this + is generated primary key values. + + + + + A value is generated every time an entity is saved. This is typically used for scenarios such as row + versions, timestamps, etc. + + + + + + Provides a simple API for configuring a relationship where configuration began on + an end of the relationship with a collection that contains instances of another entity type. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Gets the internal builder being used to configure the relationship. + + + This property is intended for use by extension methods that need to make use of services + not directly exposed in the public API surface. + + + + + + Configures this as a one-to-many relationship. + + + The name of the reference navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Provides a simple API for configuring a relationship where configuration began on + an end of the relationship with a collection that contains instances of another entity type. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + The entity type to be configured. + The entity type that this relationship targets. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures this as a one-to-many relationship. + + + A lambda expression representing the reference navigation property on the other end of this + relationship (post => post.Blog). If no property is specified, the relationship will be + configured without a navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + Configures this as a one-to-many relationship. + + + The name of the reference navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + + Provides a simple API for configuring an . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the internal builder being used to configure the entity type. + + + + + The entity type being configured. + + + + + The model that the entity type belongs to. + + + + + Adds or updates an annotation on the entity type. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the base type of this entity in an inheritance hierarchy. + + The name of the base type. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the base type of this entity in an inheritance hierarchy. + + The base type. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the properties that make up the primary key for this entity type. + + The names of the properties that make up the primary key. + An object that can be used to configure the primary key. + + + + Creates a new unique constraint for this entity type if one does not already exist over the specified + properties. + + The names of the properties that make up the unique constraint. + An object that can be used to configure the unique constraint. + + + + + Returns an object that can be used to configure a property of the entity type. + If no property with the given name exists, then a new property will be added. + + + When adding a new property, if a property with the same name exists in the entity class + then it will be added to the model. If no property exists in the entity class, then + a new shadow state property will be added. A shadow state property is one that does not have a + corresponding property in the entity class. The current value for the property is stored in + the rather than being stored in instances of the entity class. + + + The type of the property to be configured. + The name of the property to be configured. + An object that can be used to configure the property. + + + + + Returns an object that can be used to configure a property of the entity type. + If no property with the given name exists, then a new property will be added. + + + When adding a new property, if a property with the same name exists in the entity class + then it will be added to the model. If no property exists in the entity class, then + a new shadow state property will be added. A shadow state property is one that does not have a + corresponding property in the entity class. The current value for the property is stored in + the rather than being stored in instances of the entity class. + + + The type of the property to be configured. + The name of the property to be configured. + An object that can be used to configure the property. + + + + + Returns an object that can be used to configure a property of the entity type. + If no property with the given name exists, then a new property will be added. + + + When adding a new property with this overload the property name must match the + name of a CLR property or field on the entity type. This overload cannot be used to + add a new shadow state property. + + + The name of the property to be configured. + An object that can be used to configure the property. + + + + Excludes the given property from the entity type. This method is typically used to remove properties + from the entity type that were added by convention. + + The name of then property to be removed from the entity type. + + + + Configures an index on the specified properties. If there is an existing index on the given + set of properties, then the existing index will be returned for configuration. + + The names of the properties that make up the index. + An object that can be used to configure the index. + + + + + Configures a relationship where this entity type has a reference that points + to a single instance of the other type in the relationship. + + + After calling this method, you should chain a call to + + or to fully configure + the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The entity type that this relationship targets. + + The name of the reference navigation property on this entity type that represents the relationship. If + no property is specified, the relationship will be configured without a navigation property on this + end. + + An object that can be used to configure the relationship. + + + + + Configures a relationship where this entity type has a reference that points + to a single instance of the other type in the relationship. + + + After calling this method, you should chain a call to + + or to fully configure + the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The name of the entity type that this relationship targets. + + The name of the reference navigation property on this entity type that represents the relationship. If + no property is specified, the relationship will be configured without a navigation property on this + end. + + An object that can be used to configure the relationship. + + + + + Configures a relationship where this entity type has a collection that contains + instances of the other type in the relationship. + + + After calling this method, you should chain a call to + + to fully configure the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The entity type that this relationship targets. + + The name of the collection navigation property on this entity type that represents the relationship. If + no property is specified, the relationship will be configured without a navigation property on this + end. + + An object that can be used to configure the relationship. + + + + + Configures a relationship where this entity type has a collection that contains + instances of the other type in the relationship. + + + After calling this method, you should chain a call to + + to fully configure the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The name of the entity type that this relationship targets. + + The name of the collection navigation property on this entity type that represents the relationship. If + no property is specified, the relationship will be configured without a navigation property on this + end. + + An object that can be used to configure the relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures the to be used for this entity type. + This strategy indicates how the context detects changes to properties for an instance of the entity type. + + The change tracking strategy to be used. + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the to use for all properties of this entity type. + + + By default, the backing field, if one is found by convention or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. Calling this method witll change that behavior + for all properties of this entity type as described in the enum. + + + Calling this method overrrides for all properties of this entity type any access mode that was + set on the model. + + + The to use for properties of this entity type. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring an . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + The entity type being configured. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Creates a new builder based on the provided internal builder. This overridden implementation creates + instances so that logic inherited from the base class will + use those instead of . + + The internal builder to create the new builder from. + The newly created builder. + + + + Adds or updates an annotation on the entity type. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same typeBuilder instance so that multiple configuration calls can be chained. + + + + Sets the base type of this entity in an inheritance hierarchy. + + The name of the base type. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the base type of this entity in an inheritance hierarchy. + + The base type. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the base type of this entity in an inheritance hierarchy. + + The base type. + The same builder instance so that multiple configuration calls can be chained. + + + + Sets the properties that make up the primary key for this entity type. + + + + A lambda expression representing the primary key property(s) (blog => blog.Url). + + + If the primary key is made up of multiple properties then specify an anonymous type including the + properties (post => new { post.Title, post.BlogId }). + + + An object that can be used to configure the primary key. + + + + Creates a new unique constraint for this entity type if one does not already exist over the specified + properties. + + + + A lambda expression representing the unique constraint property(s) (blog => blog.Url). + + + If the unique constraint is made up of multiple properties then specify an anonymous type including + the properties (post => new { post.Title, post.BlogId }). + + + An object that can be used to configure the unique constraint. + + + + Returns an object that can be used to configure a property of the entity type. + If the specified property is not already part of the model, it will be added. + + + A lambda expression representing the property to be configured ( + blog => blog.Url). + + An object that can be used to configure the property. + + + + Excludes the given property from the entity type. This method is typically used to remove properties + from the entity type that were added by convention. + + + A lambda expression representing the property to be ignored + (blog => blog.Url). + + + + + Excludes the given property from the entity type. This method is typically used to remove properties + from the entity type that were added by convention. + + The name of then property to be removed from the entity type. + + + + Configures an index on the specified properties. If there is an existing index on the given + set of properties, then the existing index will be returned for configuration. + + + + A lambda expression representing the property(s) to be included in the index + (blog => blog.Url). + + + If the index is made up of multiple properties then specify an anonymous type including the + properties (post => new { post.Title, post.BlogId }). + + + An object that can be used to configure the index. + + + + + Configures a relationship where this entity type has a reference that points + to a single instance of the other type in the relationship. + + + After calling this method, you should chain a call to + + or + + to fully configure the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The entity type that this relationship targets. + + A lambda expression representing the reference navigation property on this entity type that represents + the relationship (post => post.Blog). If no property is specified, the relationship will be + configured without a navigation property on this end. + + An object that can be used to configure the relationship. + + + + + Configures a relationship where this entity type has a collection that contains + instances of the other type in the relationship. + + + After calling this method, you should chain a call to + + to fully configure the relationship. Calling just this method without the chained call will not + produce a valid relationship. + + + The entity type that this relationship targets. + + A lambda expression representing the collection navigation property on this entity type that represents + the relationship (blog => blog.Posts). If no property is specified, the relationship will be + configured without a navigation property on this end. + + An object that can be used to configure the relationship. + + + + Configures the to be used for this entity type. + This strategy indicates how the context detects changes to properties for an instance of the entity type. + + The change tracking strategy to be used. + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the to use for all properties of this entity type. + + + By default, the backing field, if one is found by convention or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. Calling this method witll change that behavior + for all properties of this entity type as described in the enum. + + + Calling this method overrrides for all properties of this entity type any access mode that was + set on the model. + + + The to use for properties of this entity type. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring an . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The internal builder being used to configure the index. + + + + + The index being configured. + + + + + The model that the index belongs to. + + + + + Adds or updates an annotation on the index. If an annotation with the key specified in + + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this index is unique (i.e. the value(s) for each instance must be unique). + + A value indicating whether this index is unique. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The internal builder being used to configure the key. + + + + + The key being configured. + + + + + The model that the key belongs to. + + + + + Adds or updates an annotation on the key. If an annotation with the key specified in + + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The internal builder being used to configure the property. + + + + + The property being configured. + + + + + The model that the property belongs to. + + + + + Adds or updates an annotation on the property. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this property must have a value assigned or whether null is a valid value. + A property can only be configured as non-required if it is based on a CLR type that can be + assigned null. + + A value indicating whether the property is required. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the maximum length of data that can be stored in this property. + Maximum length can only be set on array properties (including properties). + + The maximum length of data allowed in the property. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the property as capable of persisting unicode characters or not. + Can only be set on properties. + + A value indicating whether the property can contain unicode characters or not. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property as and + . + + + Database providers can choose to interpret this in different way, but it is commonly used + to indicate some form of automatic row-versioning as used for optimistic concurrency detection. + + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the that will generate values for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + A single instance of this type will be created and used to generate values for this property in all + instances of the entity type. The type must be instantiable and have a parameterless constructor. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the that will generate values for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + A single instance of this type will be created and used to generate values for this property in all + instances of the entity type. The type must be instantiable and have a parameterless constructor. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + Setting null does not disable value generation for this property, it just clears any generator explicitly + configured for this property. The database provider may still have a value generator for the property type. + + + A type that inherits from + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures a factory for creating a to use to generate values + for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + This factory will be invoked once to create a single instance of the value generator, and + this will be used to generate values for this property in all instances of the entity type. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + A delegate that will be used to create value generator instances. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this property should be used as a concurrency token. When a property is configured + as a concurrency token the value in the database will be checked when an instance of this entity type + is updated or deleted during to ensure it has not changed since + the instance was retrieved from the database. If it has changed, an exception will be thrown and the + changes will not be applied to the database. + + A value indicating whether this property is a concurrency token. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures a property to never have a value generated when an instance of this + entity type is saved. + + The same builder instance so that multiple configuration calls can be chained. + + Note that temporary values may still be generated for use internally before a + new entity is saved. + + + + + Configures a property to have a value generated only when saving a new entity, unless a non-null, + non-temporary value has been set, in which case the set value will be saved instead. The value + may be generated by a client-side value generator or may be generated by the database as part + of saving the entity. + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures a property to have a value generated only when saving a new or existing entity, unless + a non-null, non-temporary value has been set for a new entity, or the existing property value has + been modified for an existing entity, in which case the set value will be saved instead. + + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the backing field to use for this property. + + + Backing fields are normally found by convention as described + here: http://go.microsoft.com/fwlink/?LinkId=723277. + This method is useful for setting backing fields explicitly in cases where the + correct field is not found by convention. + + + By default, the backing field, if one is found or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. This can be changed by calling + . + + + The field name. + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the to use for this property. + + + By default, the backing field, if one is found by convention or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. Calling this method witll change that behavior + for this property as described in the enum. + + + Calling this method overrrides for this property any access mode that was set on the + entity type or model. + + + The to use for this property. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a . + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Adds or updates an annotation on the property. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this property must have a value assigned or whether null is a valid value. + A property can only be configured as non-required if it is based on a CLR type that can be + assigned null. + + A value indicating whether the property is required. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the maximum length of data that can be stored in this property. + Maximum length can only be set on array properties (including properties). + + The maximum length of data allowed in the property. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the property as capable of persisting unicode characters or not. + Can only be set on properties. + + A value indicating whether the property can contain unicode characters or not. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property as and + . + + + Database providers can choose to interpret this in different way, but it is commonly used + to indicate some form of automatic row-versioning as used for optimistic concurrency detection. + + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the that will generate values for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + A single instance of this type will be created and used to generate values for this property in all + instances of the entity type. The type must be instantiable and have a parameterless constructor. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the that will generate values for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + A single instance of this type will be created and used to generate values for this property in all + instances of the entity type. The type must be instantiable and have a parameterless constructor. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + Setting null does not disable value generation for this property, it just clears any generator explicitly + configured for this property. The database provider may still have a value generator for the property type. + + + A type that inherits from + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures a factory for creating a to use to generate values + for this property. + + + Values are generated when the entity is added to the context using, for example, + . Values are generated only when the property is assigned + the CLR default value (null for string, 0 for int, Guid.Empty for Guid, etc.). + + + This factory will be invoked once to create a single instance of the value generator, and + this will be used to generate values for this property in all instances of the entity type. + + + This method is intended for use with custom value generation. Value generation for common cases is + usually handled automatically by the database provider. + + + A delegate that will be used to create value generator instances. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this property should be used as a concurrency token. When a property is configured + as a concurrency token the value in the database will be checked when an instance of this entity type + is updated or deleted during to ensure it has not changed since + the instance was retrieved from the database. If it has changed, an exception will be thrown and the + changes will not be applied to the database. + + A value indicating whether this property is a concurrency token. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures a property to never have a value generated when an instance of this + entity type is saved. + + The same builder instance so that multiple configuration calls can be chained. + + Note that temporary values may still be generated for use internally before a + new entity is saved. + + + + + Configures a property to have a value generated only when saving a new entity, unless a non-null, + non-temporary value has been set, in which case the set value will be saved instead. The value + may be generated by a client-side value generator or may be generated by the database as part + of saving the entity. + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures a property to have a value generated only when saving a new or existing entity, unless + a non-null, non-temporary value has been set for a new entity, or the existing property value has + been modified for an existing entity, in which case the set value will be saved instead. + + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the backing field to use for this property. + + + Backing fields are normally found by convention as described + here: http://go.microsoft.com/fwlink/?LinkId=723277. + This method is useful for setting backing fields explicitly in cases where the + correct field is not found by convention. + + + By default, the backing field, if one is found or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. This can be changed by calling + . + + + The field name. + The same builder instance so that multiple configuration calls can be chained. + + + + + Sets the to use for this property. + + + By default, the backing field, if one is found by convention or has been specified, is used when + new objects are constructed, typically when entities are queried from the database. + Properties are used for all other accesses. Calling this method witll change that behavior + for this property as described in the enum. + + + Calling this method overrrides for this property any access mode that was set on the + entity type or model. + + + The to use for this property. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a one-to-many relationship. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The foreign key that represents this relationship. + + + + + The model that this relationship belongs to. + + + + + Gets the internal builder being used to configure this relationship. + + + + + Adds or updates an annotation on the relationship. If an annotation with the key specified in + + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one that does not + have a corresponding property in the entity class. The current value for the property is stored in + the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to match + the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures whether this is a required relationship (i.e. whether the foreign key property(s) can + be assigned null). + + A value indicating whether this is a required relationship. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + The action to perform. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a one-to-many relationship. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + The principal entity type in this relationship. + The dependent entity type in this relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If is not specified, then + an attempt will be made to match the data type and order of foreign key properties against the + primary key of the principal entity type. If they do not match, new shadow state properties that + form a unique index will be added to the principal entity type to serve as the reference key. + A shadow state property is one that does not have a corresponding property in the entity class. The + current value for the property is stored in the rather than being + stored in instances of the entity class. + + + + + A lambda expression representing the foreign key property(s) (post => post.BlogId). + + + If the foreign key is made up of multiple properties then specify an anonymous type including the + properties (comment => new { comment.BlogId, comment.PostTitle }). The order specified should match the order of + corresponding keys in . + + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + + A lambda expression representing the reference key property(s) (blog => blog.BlogId). + + + If the principal key is made up of multiple properties then specify an anonymous type including + the properties (post => new { post.BlogId, post.PostTitle }). + + + The same builder instance so that multiple configuration calls can be chained. + + + + Adds or updates an annotation on the relationship. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match + the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this is a required relationship (i.e. whether the foreign key property(s) can + be assigned null). + + A value indicating whether this is a required relationship. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + The action to perform. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a relationship where configuration began on + an end of the relationship with a reference that points to an instance of another entity type. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the internal builder being used to configure the relationship. + + + + + Configures this as a one-to-many relationship. + + + The name of the collection navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures this as a one-to-one relationship. + + + The name of the reference navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Provides a simple API for configuring a relationship where configuration began on an end of the + relationship with a reference that points to an instance of another entity type. + + + Instances of this class are returned from methods when using the API + and it is not designed to be directly constructed in your application code. + + + The entity type to be configured. + The entity type that this relationship targets. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures this as a one-to-many relationship. + + + A lambda expression representing the collection navigation property on the other end of this + relationship (blog => blog.Posts). If no property is specified, the relationship will be + configured without a navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + Configures this as a one-to-one relationship. + + + A lambda expression representing the reference navigation property on the other end of this + relationship (blog => blog.BlogInfo). If no property is specified, the relationship will be + configured without a navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + Configures this as a one-to-many relationship. + + + The name of the collection navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + Configures this as a one-to-one relationship. + + + The name of the reference navigation property on the other end of this relationship. + If null, there is no navigation property on the other end of the relationship. + + An object to further configure the relationship. + + + + + Provides a simple API for configuring a one-to-one relationship. + + + If multiple reference key properties are specified, the order of reference key properties should + match the order that the primary key or unique index properties were configured on the principal + entity type. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the internal builder being used to configure this relationship. + + + + + Gets the internal builder being used to configure this relationship. + + + + + The foreign key that represents this relationship. + + + + + The model that this relationship belongs to. + + + + + Adds or updates an annotation on the relationship. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The entity type that is the dependent in this relationship (the type that has the foreign key + properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The entity type that is the dependent in this relationship (the type that has the foreign key + properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The name of the entity type that is the dependent in this relationship (the type that has the foreign + key properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The name of the entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Configures whether this is a required relationship (i.e. whether the foreign key property(s) can + be assigned null). + + A value indicating whether this is a required relationship. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + The action to perform. + The same builder instance so that multiple configuration calls can be chained. + + + + + Provides a simple API for configuring a one-to-one relationship. + + + If multiple reference key properties are specified, the order of reference key properties should + match the order that the primary key or unique index properties were configured on the principal + entity type. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Adds or updates an annotation on the relationship. If an annotation with the key specified in + already exists it's value will be updated. + + The key of the annotation to be added or updated. + The value to be stored in the annotation. + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The entity type that is the dependent in this relationship (the type that has the foreign key + properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The entity type that is the dependent in this relationship (the type that has the foreign key + properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If the specified property name(s) do not exist on the entity type then a new shadow state + property(s) will be added to serve as the foreign key. A shadow state property is one + that does not have a corresponding property in the entity class. The current value for the + property is stored in the rather than being stored in instances + of the entity class. + + + If is not specified, then an attempt will be made to + match the data type and order of foreign key properties against the primary key of the principal + entity type. If they do not match, new shadow state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + + + + The name of entity type that is the dependent in this relationship (the type that has the foreign key + properties). + + + The name(s) of the foreign key property(s). + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint + will be introduced. + + + The name of entity type that is the principal in this relationship (the type + that has the reference key properties). + + The name(s) of the reference key property(s). + The same builder instance so that multiple configuration calls can be chained. + + + + + Configures the property(s) to use as the foreign key for this relationship. + + + If + is not specified, then an attempt will be made to match the data type and order of foreign key + properties against the primary key of the principal entity type. If they do not match, new shadow + state properties that form a unique index will be + added to the principal entity type to serve as the reference key. + A shadow state property is one that does not have a corresponding property in the entity class. The + current value for the property is stored in the rather than being + stored in instances of the entity class. + + + + The entity type that is the dependent in this relationship. That is, the type + that has the foreign key properties. + + + + A lambda expression representing the foreign key property(s) (t => t.Id1). + + + If the foreign key is made up of multiple properties then specify an anonymous type including the + properties (t => new { t.Id1, t.Id2 }). The order specified should match the order of + corresponding keys in . + + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures the unique property(s) that this relationship targets. Typically you would only call this + method if you want to use a property(s) other than the primary key as the principal property(s). If + the specified property(s) is not already a unique constraint (or the primary key) then a new unique + constraint will be introduced. + + + The entity type that is the principal in this relationship. That is, the type + that has the reference key properties. + + + + A lambda expression representing the reference key property(s) (t => t.Id). + + + If the principal key is made up of multiple properties then specify an anonymous type including + the properties (t => new { t.Id1, t.Id2 }). + + + The same builder instance so that multiple configuration calls can be chained. + + + + Configures whether this is a required relationship (i.e. whether the foreign key property(s) can + be assigned null). + + A value indicating whether this is a required relationship. + The same builder instance so that multiple configuration calls can be chained. + + + + Configures how a delete operation is applied to dependent entities in the relationship when the + principal is deleted or the relationship is severed. + + The action to perform. + The same builder instance so that multiple configuration calls can be chained. + + + + Base implementation for a set of conventions used to build a model. This base implementation is an empty set of conventions. + + + + + Conventions to run when an entity type is added to the model. + + + + + Conventions to run when an entity type is ignored. + + + + + Conventions to run when a property is ignored. + + + + + Conventions to run when the base entity type is set or removed. + + + + + Conventions to run when an annotation is set or removed on an entity type. + + + + + Conventions to run when a foreign key is added. + + + + + Conventions to run when a foreign key is removed. + + + + + Conventions to run when a key is added. + + + + + Conventions to run when a key is removed. + + + + + Conventions to run when a primary key is configured. + + + + + Conventions to run when an index is added. + + + + + Conventions to run when an index is added. + + + + + Conventions to run when the uniqueness of an index is changed. + + + + + Conventions to run when the principal end of a relationship is configured. + + + + + Conventions to run when model building is completed. + + + + + Conventions to run to setup the initial model. + + + + + Conventions to run when a navigation property is added. + + + + + Conventions to run when a navigation property is removed. + + + + + Conventions to run when the uniqueness of a foreign key is changed. + + + + + Conventions to run when a property is added. + + + + + Conventions to run when the nullability of a property is changed. + + + + + Conventions to run when the field of a property is changed. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Runs the conventions when an annotation was set or removed. + + The key of the set annotation. + The annotation set. + The old annotation. + The annotation that was set. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + Creates keys that uniquely identifies a query. This is used to store and lookup + compiled versions of a query in a cache. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The model that queries will be written against. + The context that queries will be executed for. + + + + Generates the cache key for the given query. + + The query to get the cache key for. + A value indicating whether the query will be executed asynchronously. + The cache key. + + + + Generates the cache key for the given query. + + The query to get the cache key for. + A value indicating whether the query will be executed asynchronously. + The cache key. + + + + + A key that uniquely identifies a query. This is used to store and lookup + compiled versions of a query in a cache. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The query to generate the key for. + The model that queries is written against. + The tracking behavior for results of the query. + A value indicating whether the query will be executed asynchronously. + + + + Determines if this key is equivalent to a given object (i.e. if they are keys for the same query). + + + The object to compare this key to. + + + True if the object is a and is for the same query, otherwise false. + + + + + Gets the hash code for the key. + + + The hash code for the key. + + + + + + Information required to create an instance of an entity based on a row of data returned from a query. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the struct. + + The row of data that represents this entity. + The method to materialize the data into an entity instance. + + + + Gets the row of data that represents this entity. + + + + + Populates Type Index Map field of the struct. + + + + + Materializes the data into an entity instance. + + The entity instance. + + + + Creates a new ValueBuffer containing only the values needed for entities of a given type. + + The type of this entity. + Updated value buffer. + + + + + The core visitor that processes a query to be executed. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Expression to reference the parameter for a query. + + + + + Determines if a is referencing the method. + + The method info to check. + + True if is referencing ; otherwise fale; + + + + + Creates an expression to access the given property on an given entity. + + The entity. + The property to be accessed. + The newly created expression. + + + + Initializes a new instance of the class. + + The to be used when processing the query. + + The to be used when + processing the query. + + + The to be used when + processing the query. + + + The to be used when + processing the query. + + + The to be used when + processing the query. + + The to be used when processing the query. + + The to be used when + processing the query. + + The to be used when processing the query. + + The to be used when processing the + query. + + + The to be used when + processing the query. + + The to be used when processing the query. + The to be used when processing the query. + The to be used when processing the query. + The to be used when processing the query. + The to be used when processing the query. + + + + Gets the expression that represents this query. + + + + + Gets the expression for the current parameter. + + + + + Gets the being used for this query. + + + + + Gets the being used for this query. + + + + + Creates an action to execute this query. + + The type of results that the query returns. + The query. + An action that returns the results of the query. + + + + Creates an action to asynchronously execute this query. + + The type of results that the query returns. + The query. + An action that asynchronously returns the results of the query. + + + + Executes the query and logs any exceptions that occur. + + + + + Populates based on annotations found in the query. + + The query. + + + + Applies optimizations to the query. + + The query. + + + + Converts the results of the query from a single result to a series of results. + + The query. + The type of results returned by the query. + + + + Includes related data requested in the LINQ query. + + The query. + + + + Includes related data requested in the LINQ query. + + The query. + Related data to be included. + + + + Includes a specific navigation property requested in the LINQ query. + + The navigation property to be included. + The type of results returned by the query. + Expression for the navigation property to be included. + A value indicating whether results of this query are to be tracked. + + + + Applies tracking behavior to the query. + + The type of results returned by the query. + The query. + + + + Creates an action to execute this query. + + The type of results that the query returns. + An action that returns the results of the query. + > + + + + Visits the root node. + + The query. + + + + Visits the node. + + The node being visited. + The query. + + + + Compiles the node. + + The node being compiled. + The query. + The compiled result. + + + + Visits nodes. + + The node being visited. + The query. + Index of the node being visited. + + + + Compiles nodes. + + The node being compiled. + The query. + The compiled result. + + + + Visits nodes. + + The node being visited. + The query. + Index of the node being visited. + + + + Compiles nodes. + + The node being compiled. + The query. + The compiled result. + + + + Visits nodes + + The node being visited. + The query. + Index of the node being visited. + + + + Compiles nodes. + + The node being compiled. + The query. + The compiled result. + + + + Visits nodes. + + The node being visited. + The query. + Index of the node being visited. + + + + Visits nodes. + + The node being visited. + The query. + The for the ordering. + Index of the node being visited. + + + + Visits nodes. + + The node being visited. + The query. + + + + Visits nodes. + + The node being visited. + The query. + Index of the node being visited. + + + + Translates a re-linq query model expression into a compiled query expression. + + The re-linq query model expression. + The query source. + True when the expression is a projector. + + A compiled query expression fragment. + + + + + Adds or updates the expression mapped to a query source. + + The query source. + The expression mapped to the query source. + + + + Binds a method call to a value buffer access. + + The method call expression. + The target expression. + + A value buffer access expression. + + + + + Binds a member access to a value buffer access. + + The member access expression. + The target expression. + + A value buffer access expression. + + + + + Binds a value buffer read. + + Type of the member. + The target expression. + A value buffer index. + + A value buffer read expression. + + + + + Binds a navigation path property expression. + + Type of the result. + The property expression. + The property binder. + + A TResult. + + + + + Binds a member expression. + + The member access expression. + The member binder. + + + + Binds a member expression. + + Type of the result. + The member access expression. + The query source. + The member binder. + + A TResult. + + + + + Binds a method call expression. + + Type of the result. + The method call expression. + The query source. + The method call binder. + + A TResult. + + + + + Binds a method call expression. + + Type of the result. + The method call expression. + The method call binder. + + A TResult. + + + + + Binds a method call expression. + + The method call expression. + The method call binder. + + + + + Creates instances of . + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Gets the to be used when processing a query. + + + + + Creates a new . + + + Compilation context for the query. + + + The visitor for the outer query. + + The new created visitor. + + + + A cache key generator for the compiled query cache. + + + + + Generates a cache key. + + The query to generate a cache key for. + True if the query will be executed asynchronously. + An object representing a query cache key. + + + + A factory for creating EntityQueryModelVisitors. + + + + + Creates a new EntityQueryModelVisitor. + + Context for the query compilation. + The parent entity query model visitor. + + An EntityQueryModelVisitor instance. + + + + + Supports queryable Include/ThenInclude chaining operators. + + The entity type. + The property type. + + + + Represents a single query include operation. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.IncludeSpecification class. + + The query source. + The set of navigation properties to be included. + + + + Gets the query source. + + + The query source. + + + + + Gets the set of navigation properties to be included. + + + The set of navigation properties to be included. + + + + + Gets or sets a value indicating whether this object is an enumerable target. + + + True if this object is an enumerable target, false if not. + + + + + Convert this object into a string representation. + + + A string that represents this object. + + + + + Factory for instances. + + + + + Creates a new QueryCompilationContext. + + true if the query will be executed asynchronously. + + A instance. + + + + + Factory for instances. + + + + + Creates a new QueryContext. + + + A QueryContext instance. + + + + + A handler for instances. + + + + + Handles a result operator. + + The entity query model visitor. + The result operator. + The query model. + + A compiled query expression fragment representing the result operator. + + + + + Signals that custom LINQ operator parameter should not be parameterized during query compilation. + + + + + A query compilation context. The primary data structure representing the state/components + used during query compilation. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Gets the model. + + + The model. + + + + + Gets the logger. + + + The logger. + + + + + Gets the linq operator provider. + + + The linq operator provider. + + + + + Gets the type of the context./ + + + The type of the context. + + + + + Gets a value indicating the default configured tracking behavior. + + + true if the default is to track query results, false if not. + + + + + Gets the query source mapping. + + + The query source mapping. + + + + + Adds or updates the expression mapped to a query source. + + The query source. + The expression mapped to the query source. + + + + Gets the query annotations./ + + + The query annotations. + + + + + Gets a value indicating whether this is a tracking query. + + + true if this object is a tracking query, false if not. + + + + + The query has at least one Include operation. + + + + + Gets a value indicating whether this query requires a query buffer. + + + true if this query requires a query buffer, false if not. + + + + + Determine if the query requires a query buffer. + + The query model. + + + + Creates query model visitor. + + + The new query model visitor. + + + + + Creates query model visitor. + + The parent entity query model visitor. + + The new query model visitor. + + + + + Adds a trackable include. + + The query source. + The included navigation path. + + + + Gets all trackable includes for a given query source. + + The query source. + + The trackable includes. + + + + + Determines all query sources that require materialization. + + The query model visitor. + The query model. + + + + Determine whether or not a query source requires materialization. + + The query source. + + true if it requires materialization, false if not. + + + + + The principal data structure used by a compiled query during execution. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The query buffer. + + + + + The state manager. + + + The state manager. + + + + + The query provider. + + + The query provider. + + + + + Gets the concurrency detector. + + + The concurrency detector. + + + + + Gets or sets the cancellation token. + + + The cancellation token. + + + + + The parameter values. + + + + + Adds a parameter. + + The name. + The value. + + + + Removes a parameter by name. + + The name. + + The parameter value. + + + + + Notify the state manager that a tracking query is starting. + + + + + Start tracking an entity. + + The entity. + Information describing how to track the entity. + + + + A factory for instances. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Creates a query buffer. + + + The new query buffer. + + + + + Gets the change detector. + + + The change detector. + + + + + Gets the state manager. + + + The state manager. + + + + + Gets the concurrency detector. + + + The concurrency detector. + + + + + Creates a new QueryContext. + + + A QueryContext. + + + + + The default client-eval result operator handler. + + + + + Handles the result operator. + + The entity query model visitor. + The result operator. + The query model. + + An compiled query expression fragment representing the result operator. + + + + + Call a client operator that may have a cancellation token. + + The method to call. + A variable-length parameters list containing arguments. + + A method call expression. + + + + + Expression representing null-conditional access. + Logic in this file is based on https://github.com/bartdesmet/ExpressionFutures + + + + + Creates a new instance of NullConditionalExpression. + + + Expression representing potentially nullable caller that + needs to be tested for it's nullability. + + Expression representing actual caller for the access operation. + Expression representing access operation. + + + + Expression representing potentially nullable caller that needs to be tested for it's nullability. + + + + + Expression representing actual caller for the access operation. + + + + + Expression representing access operation. + + + + + Indicates that the node can be reduced to a simpler node. If this returns true, + Reduce() can be called to produce the reduced form. + + + + + Gets the static type of the expression that this expression represents. + + + + + Gets the node type of this expression. + + + + + Reduces this node to a simpler expression. If CanReduce returns true, this should + return a valid expression. This method can return another node which itself must + be reduced. + + + + + Reduces the node and then calls the visitor delegate on the reduced expression. + The method throws an exception if the node is not + reducible. + + + The expression being visited, or an expression which should replace it in the tree. + + An instance of . + + + + Returns a textual representation of the . + + + A textual representation of the . + + + + + Visitor for processing entity types roots. + + + + + Initializes a new instance of the class. + + The visitor for the query. + + + + Visits nodes. + + The node being visited. + An expression to use in place of the node. + + + + Visits entity type roots. + + The entity type of the root. + An expression to use in place of the node. + + + + A base expression visitor that ignores Block expressions. + + + + + Visits the given node. + + The expression to visit. + + An Expression. + + + + + Visits the children of the extension expression. + + + The modified expression, if it or any subexpression was modified; otherwise, returns the original expression. + + The expression to visit. + + + + A factory for creating entity queryable expression visitors. + + + + + Creates a new entity queryable ExpressionVisitor. + + The query model visitor. + The query source. + + An ExpressionVisitor. + + + + + A factory for creating projection expression visitors. + + + + + Creates a new ExpressionVisitor. + + The entity query model visitor. + The query source. + + An ExpressionVisitor. + + + + + A projection expression visitor. + + + + + Initializes a new instance of the Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.ProjectionExpressionVisitor class. + + The entity query model visitor. + + + + Visit a subquery. + + The subquery expression. + + A compiled query expression fragment representing the input subquery expression. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Represents an annotation on a query. + + + + + Gets the query source. + + + The query source. + + + + + Gets the query model. + + + The query model. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + The main interaction point between a context and the database provider. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + Factory for compilation contexts to process LINQ queries. + + + + Persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + The number of state entries persisted to the database. + + + + Asynchronously persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains the + number of entries persisted to the database. + + + + + Translates a query model into a function that can be executed to get query results from the database. + + The type of results returned by the query. + An object model representing the query to be executed. + A function that will execute the query. + + + + Translates a query model into a function that can be executed to asynchronously get query results from the database. + + The type of results returned by the query. + An object model representing the query to be executed. + A function that will asynchronously execute the query. + + + + Provided as the state to when logging an exception that occurred while accessing the database. + + + + + Initializes a new instance of the class. + + The type of the derived context that the error occurred for. + + + + Gets the type of the derived context that the error occurred for. + + + + + + The primary point where a database provider can tell EF that it has been selected for the current context + and provide the services required for it to function. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + The base set of services required by EF for the database provider to function. + + + The type of options that the database provider will add to + to identify that is has been selected (and to store its database specific settings). + + + + + Gets the base set of services required by EF for the database provider to function. + + The service provider to resolve services from. + The services for this database provider. + + + + Gets a value indicating whether this database provider has been selected for a given context. + + The options for the context. + True if the database provider has been selected, otherwise false. + + + + + The base set of services required by EF for a database provider to function. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Initializes a new instance of the class. + + The service provider to resolve services from. + + + + The unique name used to identify the database provider. This should be the same as the NuGet package name + for the providers runtime. + + + + + Gets the service provider to resolve services from. + + + + + Resolves a required service from . + + The service to be resolved. + The resolved service. + + + + The convention set builder for the database provider. By default this returns null, meaning the + default will be used. + + + + + Gets the for the database provider. By default, EF will register a default implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default + implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default + implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. By default, EF will register a default + implementation + () which provides basic functionality but can be + overridden if needed. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Represents the execution state of an operation. + + The type of the result. + + + + Creates a new instance of . + + true if the operation succeeded. + The result of the operation if successful. + + + + Indicates whether the operation succeeded. + + + + + The result of the operation if successful. + + + + + The base class for implementations. + + + + + The default number of retry attempts. + + + + + The default maximum time delay between retries, must be nonnegative. + + + + + The default maximum random factor, must not be lesser than 1. + + + + + The default base for the exponential function used to compute the delay between retries, must be positive. + + + + + The default coefficient for the exponential function used to compute the delay between retries, must be nonnegative. + + + + + Creates a new instance of . + + The required dependencies. + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + The list of exceptions that caused the operation to be retried so far. + + + + + A pseudo-random number generater that can be used to vary the delay between retries. + + + + + The maximum number of retry attempts. + + + + + The maximum delay in milliseconds between retries. + + + + + The context on which the operations will be invoked. + + + + + The logger for this . + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + A delegate that tests whether the operation succeeded even though an exception was thrown. + The state that will be passed to the operation. + The type of the state. + The return type of . + The result from the operation. + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Executes the specified asynchronous operation and returns the result. + + + A function that returns a started task of type . + + A delegate that tests whether the operation succeeded even though an exception was thrown. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The type of the state. + The result type of the returned by . + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Executes the specified operation in a transaction and returns the result after commiting it. + + + A delegate representing an executable operation that returns the result of type . + + + A delegate that tests whether the operation succeeded even though an exception was thrown when the + transaction was being committed. + + The state that will be passed to the operation. + The type of the state. + The return type of . + The result from the operation. + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Executes the specified asynchronous operation and returns the result. + + + A function that returns a started task of type . + + + A delegate that tests whether the operation succeeded even though an exception was thrown when the + transaction was being committed. + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The type of the state. + The result type of the returned by . + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Method called before the first operation execution + + + + + Method called before retrying the operation execution + + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Determines whether the specified exception could be thrown after a successful execution. + + The exception object to be verified. + + true if the specified exception could be thrown after a successful execution, otherwise false. + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + Recursively gets InnerException from as long as it is an + exception created by Entity Framework and calls on the innermost one. + + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + The return type of . + + The result from . + + + + + A class that provides dependencies for + + + + + Creates a new instance of . + + The context on which the operations will be invoked. + The logger to be used. + + + + The context on which the operations will be invoked. + + + + + The logger for the . + + + + + + The main interaction point between a context and the database provider. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + The number of state entries persisted to the database. + + + + Asynchronously persists changes from the supplied entries to the database. + + Entries representing the changes to be persisted. + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains the + number of entries persisted to the database. + + + + + Translates a query model into a function that can be executed to get query results from the database. + + The type of results returned by the query. + An object model representing the query to be executed. + A function that will execute the query. + + + + Translates a query model into a function that can be executed to asynchronously get query results from the database. + + The type of results returned by the query. + An object model representing the query to be executed. + A function that will asynchronously execute the query. + + + + + Creates and deletes databases for a given database provider. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + + Ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + True if the database is deleted, false if it did not exist. + + + + + Asynchronously ensures that the database for the context does not exist. If it does not exist, no action is taken. If it does + exist then the database is deleted. + + + Warning: The entire database is deleted an no effort is made to remove just the database objects that are used by + the model for this context. + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is deleted, + false if it did not exist. + + + + + Ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + True if the database is created, false if it already existed. + + + + Asynchronously ensures that the database for the context exists. If it exists, no action is taken. If it does not + exist then the database and all its schema are created. If the database exists, then no effort is made + to ensure it is compatible with the model for this context. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous save operation. The task result contains true if the database is created, + false if it already existed. + + + + + + The primary point where a database provider can tell EF that it has been selected for the current context + and provide the services required for it to function. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the base set of services required by EF for the database provider to function. + + The service provider to resolve services from. + The services for this database provider. + + + + Gets a value indicating whether this database provider has been selected for a given context. + + The options for the context. + True if the database provider has been selected, otherwise false. + + + + + The base set of services required by EF for a database provider to function. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The unique name used to identify the database provider. This should be the same as the NuGet package name + for the providers runtime. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + Gets the for the database provider. + + + + + + A transaction against the database. + + + Instances of this class are typically obtained from and it is not designed + to be directly constructed in your application code. + + + + + + Commits all changes made to the database in the current transaction. + + + + + Discards all changes made to the database in the current transaction. + + + + + + Creates and manages the current transaction. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Begins a new transaction. + + The newly created transaction. + + + + Asynchronously begins a new transaction. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. The task result contains the newly created transaction. + + + + + Commits all changes made to the database in the current transaction. + + + + + Discards all changes made to the database in the current transaction. + + + + + Gets the current transaction. + + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + A delegate that tests whether the operation succeeded even though an exception was thrown. + The state that will be passed to the operation. + The type of the state. + The return type of . + The result from the operation. + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Executes the specified asynchronous operation and returns the result. + + + A function that returns a started task of type . + + A delegate that tests whether the operation succeeded even though an exception was thrown. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + The state that will be passed to the operation. + The type of the state. + The result type of the returned by . + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + Thrown if the operation has not succeeded after the configured number of retries. + + + + + Factory for instances. + + + + + Creates a new . + + An instance of . + + + + The exception that is thrown when the action failed more times than the configured limit. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + + Represents a set of indexed values. Typically used to represent a row of data returned from a database. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + A buffer with no values in it. + + + + + Initializes a new instance of the class. + + The list of values for this buffer. + + + + Initializes a new instance of the class. + + The list of values for this buffer. + + The starting slot in for this buffer. + + + + + Gets the value at a requested index. + + The index of the value to get. + The value at the requested index. + + + + Gets the number of values in this buffer. + + + + + Creates a new buffer with data starting at the given index in the current buffer. + + + The slot in the current buffer that will be the starting slot in the new buffer. + + The newly created buffer. + + + + Gets a value indicating whether the value buffer is empty. + + + + + Determines if this value buffer is equivalent to a given object (i.e. if they are both value buffers and contain the same values). + + + The object to compare this value buffer to. + + + True if the object is a and contains the same values, otherwise false. + + + + + Gets the hash code for the value buffer. + + + The hash code for the value buffer. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Creates a new . + + An instance of . + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + + The information passed to a database provider to save changes to an entity to the database. + + + This interface is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The type of entity to be saved to the database. + + + + + The state of the entity to be saved. + + + + + Gets a value indicating if the specified property is modified. If true, the current value assigned + to the property should be saved to the database. + + The property to be checked. + True if the property is modified, otherwise false. + + + + Gets a value indicating if the specified property has a temporary value. + + The property to be checked. + True if the property has a temporary value, otherwise false. + + + + Gets a value indicating if the specified property should have a value generated by the database. + + The property to be checked. + True if the property should have a value generated by the database, otherwise false. + + + + Gets the value assigned to the property. + + The property to get the value for. + The value for the property. + + + + Gets the value assigned to the property when it was retrieved from the database. + + The property to get the value for. + The value for the property. + + + + Gets the value assigned to the property. + + The property to get the value for. + The type of the property. + The value for the property. + + + + Gets the value assigned to the property when it was retrieved from the database. + + The property to get the value for. + The type of the property. + The value for the property. + + + + Gets the value assigned to the property. + + The property to set the value for. + The value to set. + + + + Gets an for the entity being saved. is an API optimized for + application developers and is optimized for database providers, but there may be instances + where a database provider wants to access information from . + + An for this entity. + + + + Generates values using . + The generated values are non-temporary, meaning they will be saved to the database. + + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Gets a value indicating whether the values generated are temporary or permanent. This implementation + always returns false, meaning the generated values will be saved to the database. + + + + + + Acts as a by requesting a block of values from the + underlying database and returning them one by one. Will ask the underlying + database for another block when the current block is exhausted. + + + A block is represented by a low value fetched from the database, and then a block size + that indicates how many sequential values can be used, starting from the low value, before + a new low value must be fetched from the database. + + + The type of values that are generated. + + + + Initializes a new instance of the class. + + The state used to keep track of which value to return next. + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Gets the low value for the next block of values to be used. + + The low value for the next block of values to be used. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + The thread safe state used by . + + + + + Initializes a new instance of the class. + + + The number of sequential values that can be used, starting from the low value, before + a new low value must be fetched from the database. + + + + + Gets a value to be assigned to a property. + + The type of values being generated. + + A function to get the next low value if needed. + + The value to be assigned to a property. + + + + Gets a value to be assigned to a property. + + The type of values being generated. + + A function to get the next low value if needed. + + A to observe while waiting for the task to complete. + The value to be assigned to a property. + + + + + Keeps a cache of value generators for properties. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the existing value generator from the cache, or creates a new one if one is not present in + the cache. + + The property to get the value generator for. + + The entity type that the value generator will be used for. When called on inherited properties on derived entity types, + this entity type may be different from the declared entity type on + + Factory to create a new value generator if one is not present in the cache. + The existing or newly created value generator. + + + + + Selects value generators to be used to generate values for properties of entities. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Selects the appropriate value generator for a given property. + + The property to get the value generator for. + + The entity type that the value generator will be used for. When called on inherited properties on derived entity types, + this entity type may be different from the declared entity type on + + The value generator to be used. + + + + Generates sequential values using the same algorithm as NEWSEQUENTIALID() + in Microsoft SQL Server. This is useful when entities are being saved to a database where sequential + GUIDs will provide a performance benefit. The generated values are non-temporary, meaning they will + be saved to the database. + + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Gets a value indicating whether the values generated are temporary or permanent. This implementation + always returns false, meaning the generated values will be saved to the database. + + + + + Generates values using . + The generated values are temporary, meaning they will be replaced by database + generated values when the entity is saved. + + + + + Gets a value indicating whether the values generated are temporary or permanent. This implementation + always returns true, meaning the generated values will be replaced by database generated values when + the entity is saved + + + + + Generates values for properties when an entity is added to a context. + + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Template method to be overridden by implementations to perform value generation. + + The change tracking entry of the entity for which the value is being generated. + The generated value. + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Template method to be overridden by implementations to perform value generation. + + The change tracking entry of the entity for which the value is being generated. + The generated value. + + + + + Gets a value indicating whether the values generated are temporary (i.e they should be replaced + by database generated values when the entity is saved) or are permanent (i.e. the generated values + should be saved to the database). + + + An example of temporary value generation is generating negative numbers for an integer primary key + that are then replaced by positive numbers generated by the database when the entity is saved. An + example of permanent value generation are client-generated values for a primary + key which are saved to the database. + + + + + + + Keeps a cache of value generators for properties. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + Gets the existing value generator from the cache, or creates a new one if one is not present in + the cache. + + The property to get the value generator for. + + The entity type that the value generator will be used for. When called on inherited properties on derived entity types, + this entity type may be different from the declared entity type on + + Factory to create a new value generator if one is not present in the cache. + The existing or newly created value generator. + + + + Base class for factories that create value generators. + + + + + Creates a new value generator. + + The property to create the value generator for. + The newly created value generator. + + + + + Selects value generators to be used to generate values for properties of entities. + + + This type is typically used by database providers (and other extensions). It is generally + not used in application code. + + + + + + The cache being used to store value generator instances. + + + + + Initializes a new instance of the class. + + The cache to be used to store value generator instances. + + + + Selects the appropriate value generator for a given property. + + The property to get the value generator for. + + The entity type that the value generator will be used for. When called on inherited properties on derived entity types, + this entity type may be different from the declared entity type on + + The value generator to be used. + + + + Creates a new value generator for the given property. + + The property to get the value generator for. + + The entity type that the value generator will be used for. When called on inherited properties on derived entity types, + this entity type may be different from the declared entity type on + + The newly created value generator. + + + + Generates values for properties when an entity is added to a context. + + + + + Template method to be overridden by implementations to perform value generation. + + The change tracking entry of the entity for which the value is being generated. + The generated value. + + + + Template method to be overridden by implementations to perform value generation. + + The change tracking entry of the entity for which the value is being generated. + The generated value. + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + Gets a value to be assigned to a property. + + The change tracking entry of the entity for which the value is being generated. + The value to be assigned to a property. + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports the Entity Framework Core infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + Extension methods for setting up Entity Framework related services in an . + + + + + Registers the given context as a service in the . + You use this method when using dependency injection in your application, such as with ASP.NET. + For more information on setting up dependency injection, see http://go.microsoft.com/fwlink/?LinkId=526890. + + + + public void ConfigureServices(IServiceCollection services) + { + var connectionString = "connection string to database"; + + services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString)); + } + + + The type of context to be registered. + The to add services to. + + + An optional action to configure the for the context. This provides an + alternative to performing configuration of the context by overriding the + method in your derived context. + + + If an action is supplied here, the method will still be run if it has + been overridden on the derived context. configuration will be applied + in addition to configuration performed here. + + + In order for the options to be passed into your context, you need to expose a constructor on your context that takes + and passes it to the base constructor of . + + + The lifetime with which to register the DbContext service in the container. + + The same service collection so that multiple calls can be chained. + + + + + Registers the given context as a service in the . + You use this method when using dependency injection in your application, such as with ASP.NET. + For more information on setting up dependency injection, see http://go.microsoft.com/fwlink/?LinkId=526890. + + + + public void ConfigureServices(IServiceCollection services) + { + var connectionString = "connection string to database"; + + services.AddDbContext<MyContext>(ServiceLifetime.Scoped); + } + + + The type of context to be registered. + The to add services to. + The lifetime with which to register the DbContext service in the container. + + The same service collection so that multiple calls can be chained. + + + + + + Registers the given context as a service in the . + You use this method when using dependency injection in your application, such as with ASP.NET. + For more information on setting up dependency injection, see http://go.microsoft.com/fwlink/?LinkId=526890. + + + This overload has an that provides the applications . + This is useful if you want to setup Entity Framework to resolve its internal services from the primary application service + provider. + By default, we recommend using the other overload, which allows Entity Framework to create and maintain its own + + for internal Entity Framework services. + + + + + public void ConfigureServices(IServiceCollection services) + { + var connectionString = "connection string to database"; + + services + .AddEntityFrameworkSqlServer() + .AddDbContext<MyContext>((serviceProvider, options) => + options.UseSqlServer(connectionString) + .UseInternalServiceProvider(serviceProvider)); + } + + + The type of context to be registered. + The to add services to. + + + An optional action to configure the for the context. This provides an + alternative to performing configuration of the context by overriding the + method in your derived context. + + + If an action is supplied here, the method will still be run if it has + been overridden on the derived context. configuration will be applied + in addition to configuration performed here. + + + In order for the options to be passed into your context, you need to expose a constructor on your context that takes + and passes it to the base constructor of . + + + The lifetime with which to register the DbContext service in the container. + + The same service collection so that multiple calls can be chained. + + + + diff --git a/bin/Release/Microsoft.Extensions.Caching.Abstractions.dll b/bin/Release/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000..13c0bd1 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/bin/Release/Microsoft.Extensions.Caching.Abstractions.xml b/bin/Release/Microsoft.Extensions.Caching.Abstractions.xml new file mode 100644 index 0000000..41dd047 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Caching.Abstractions.xml @@ -0,0 +1,406 @@ + + + + Microsoft.Extensions.Caching.Abstractions + + + + + Sets the priority for keeping the cache entry in the cache during a memory pressure tokened cleanup. + + + + + + + Expire the cache entry if the given expires. + + The . + The that causes the cache entry to expire. + + + + Sets an absolute expiration time, relative to now. + + + + + + + Sets an absolute expiration date for the cache entry. + + + + + + + Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + + + The given callback will be fired after the cache entry is evicted from the cache. + + + + + + + The given callback will be fired after the cache entry is evicted from the cache. + + + + + + + + Sets the value of the cache entry. + + + + + + + Applies the values of an existing to the entry. + + + + + + + Specifies how items are prioritized for preservation during a memory pressure triggered cleanup. + + + + + Manually + + + + + Overwritten + + + + + Timed out + + + + + Event + + + + + GC, overflow + + + + + Represents an entry in the implementation. + + + + + Gets the key of the cache entry. + + + + + Gets or set the value of the cache entry. + + + + + Gets or sets an absolute expiration date for the cache entry. + + + + + Gets or sets an absolute expiration time, relative to now. + + + + + Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + Gets the instances which cause the cache entry to expire. + + + + + Gets or sets the callbacks will be fired after the cache entry is evicted from the cache. + + + + + Gets or sets the priority for keeping the cache entry in the cache during a + memory pressure triggered cleanup. The default is . + + + + + Represents a local in-memory cache whose values are not serialized. + + + + + Gets the item associated with this key if present. + + An object identifying the requested entry. + The located value or null. + True if the key was found. + + + + Create or overwrite an entry in the cache. + + An object identifying the entry. + The newly created instance. + + + + Removes the object associated with the given key. + + An object identifying the entry. + + + + Sets the priority for keeping the cache entry in the cache during a memory pressure tokened cleanup. + + + + + + + Expire the cache entry if the given expires. + + The . + The that causes the cache entry to expire. + + + + Sets an absolute expiration time, relative to now. + + + + + + + Sets an absolute expiration date for the cache entry. + + + + + + + Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + + + The given callback will be fired after the cache entry is evicted from the cache. + + + + + + + The given callback will be fired after the cache entry is evicted from the cache. + + + + + + + + Gets or sets an absolute expiration date for the cache entry. + + + + + Gets or sets an absolute expiration time, relative to now. + + + + + Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + Gets the instances which cause the cache entry to expire. + + + + + Gets or sets the callbacks will be fired after the cache entry is evicted from the cache. + + + + + Gets or sets the priority for keeping the cache entry in the cache during a + memory pressure triggered cleanup. The default is . + + + + + Signature of the callback which gets called when a cache entry expires. + + + + The . + The information that was passed when registering the callback. + + + + Sets an absolute expiration time, relative to now. + + + + + + + Sets an absolute expiration date for the cache entry. + + + + + + + Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + + + Gets or sets an absolute expiration date for the cache entry. + + + + + Gets or sets an absolute expiration time, relative to now. + + + + + Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + Extension methods for setting data in an . + + + + + Sets a sequence of bytes in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + Thrown when or is null. + + + + Asynchronously sets a sequence of bytes in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + A task that represents the asynchronous set operation. + Thrown when or is null. + + + + Sets a string in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + Thrown when or is null. + + + + Sets a string in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + The cache options for the entry. + Thrown when or is null. + + + + Asynchronously sets a string in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + A task that represents the asynchronous set operation. + Thrown when or is null. + + + + Asynchronously sets a string in the specified cache with the specified key. + + The cache in which to store the data. + The key to store the data in. + The data to store in the cache. + The cache options for the entry. + A task that represents the asynchronous set operation. + Thrown when or is null. + + + + Gets a string from the specified cache with the specified key. + + The cache in which to store the data. + The key to get the stored data for. + The string value from the stored cache key. + + + + Asynchronously gets a string from the specified cache with the specified key. + + The cache in which to store the data. + The key to get the stored data for. + A task that gets the string value from the stored cache key. + + + + Abstracts the system clock to facilitate testing. + + + + + Retrieves the current system time in UTC. + + + + + Provides access to the normal system clock. + + + + + Retrieves the current system time in UTC. + + + + diff --git a/bin/Release/Microsoft.Extensions.Caching.Memory.dll b/bin/Release/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..a919200 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/bin/Release/Microsoft.Extensions.Caching.Memory.xml b/bin/Release/Microsoft.Extensions.Caching.Memory.xml new file mode 100644 index 0000000..1042388 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Caching.Memory.xml @@ -0,0 +1,138 @@ + + + + Microsoft.Extensions.Caching.Memory + + + + + Gets or sets an absolute expiration date for the cache entry. + + + + + Gets or sets an absolute expiration time, relative to now. + + + + + Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed. + This will not extend the entry lifetime beyond the absolute expiration (if set). + + + + + Gets the instances which cause the cache entry to expire. + + + + + Gets or sets the callbacks will be fired after the cache entry is evicted from the cache. + + + + + Gets or sets the priority for keeping the cache entry in the cache during a + memory pressure triggered cleanup. The default is . + + + + + An implementation of using a dictionary to + store its entries. + + + + + Creates a new instance. + + The options of the cache. + + + + Cleans up the background collection events. + + + + + Gets the count of the current entries for diagnostic purposes. + + + + + + + + + + + + + This is called after a Gen2 garbage collection. We assume this means there was memory pressure. + Remove at least 10% of the total entries (or estimated memory?). + + + Remove at least the given percentage (0.10 for 10%) of the total entries (or estimated memory?), according to the following policy: + 1. Remove all expired items. + 2. Bucket by CacheItemPriority. + ?. Least recently used objects. + ?. Items with the soonest absolute expiration. + ?. Items with the soonest sliding expiration. + ?. Larger objects - estimated by object graph size, inaccurate. + + + Policy: + ?. Least recently used objects. + ?. Items with the soonest absolute expiration. + ?. Items with the soonest sliding expiration. + ?. Larger objects - estimated by object graph size, inaccurate. + + + + Extension methods for setting up memory cache related services in an . + + + + + Adds a non distributed in memory implementation of to the + . + + The to add services to. + The so that additional calls can be chained. + + + + Adds a non distributed in memory implementation of to the + . + + The to add services to. + + The to configure the provided . + + The so that additional calls can be chained. + + + + Adds a default implementation of that stores items in memory + to the . Frameworks that require a distributed cache to work + can safely add this dependency as part of their dependency list to ensure that there is at least + one implementation available. + + + should only be used in single + server scenarios as this cache stores items in memory and doesn't expand across multiple machines. + For those scenarios it is recommended to use a proper distributed cache that can expand across + multiple machines. + + The to add services to. + The so that additional calls can be chained. + + + + Registers a callback that fires each time a Gen2 garbage collection occurs, + presumably due to memory pressure. + For this to work no components can have a reference to the instance. + + + + diff --git a/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000..a29f362 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..ebf6a60 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,663 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + + + + + + + + + + + + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Adds the specified to the . + + The . + The . + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The of s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't been already registered. + + The . + The . + + + + Adds the specified to the if the + service type hasn't been already registered. + + The . + The s. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registing a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registing a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + + + Unable to locate implementation '{0}' for service '{1}'. + + + + + Unable to locate implementation '{0}' for service '{1}'. + + + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + + + No service for type '{0}' has been registered. + + + + + No service for type '{0}' has been registered. + + + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + + diff --git a/bin/Release/Microsoft.Extensions.DependencyInjection.dll b/bin/Release/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..5a557fc Binary files /dev/null and b/bin/Release/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/bin/Release/Microsoft.Extensions.DependencyInjection.xml b/bin/Release/Microsoft.Extensions.DependencyInjection.xml new file mode 100644 index 0000000..1142989 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.DependencyInjection.xml @@ -0,0 +1,174 @@ + + + + Microsoft.Extensions.DependencyInjection + + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + Creates an containing services from the provided . + + The containing service descriptors. + The. + + + + Creates an containing services from the provided + optionaly enabling scope validation. + + The containing service descriptors. + + true to perform check verifying that scoped services never gets resolved from root provider; otherwise false. + + The. + + + + The default IServiceProvider. + + + + + Gets the service object of the specified type. + + + + + + + Unable to activate type '{0}'. The following constructors are ambigious: + + + + + Unable to activate type '{0}'. The following constructors are ambigious: + + + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + + + A circular dependency was detected for the service of type '{0}'. + + + + + A circular dependency was detected for the service of type '{0}'. + + + + + No constructor for type '{0}' can be instantiated using services from the service container and default values. + + + + + No constructor for type '{0}' can be instantiated using services from the service container and default values. + + + + + Open generic service type '{0}' requires registering an open generic implementation type. + + + + + Open generic service type '{0}' requires registering an open generic implementation type. + + + + + Cannot instantiate implementation type '{0}' for service type '{1}'. + + + + + Cannot instantiate implementation type '{0}' for service type '{1}'. + + + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + + + Cannot consume {2} service '{0}' from {3} '{1}'. + + + + + Cannot consume {2} service '{0}' from {3} '{1}'. + + + + + Cannot resolve '{0}' from root provider because it requires {2} service '{1}'. + + + + + Cannot resolve '{0}' from root provider because it requires {2} service '{1}'. + + + + + Cannot resolve {1} service '{0}' from root provider. + + + + + Cannot resolve {1} service '{0}' from root provider. + + + + + Summary description for InstanceService + + + + + Summary description for IServiceCallSite + + + + diff --git a/bin/Release/Microsoft.Extensions.Logging.Abstractions.dll b/bin/Release/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..976a5f9 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/bin/Release/Microsoft.Extensions.Logging.Abstractions.xml b/bin/Release/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 0000000..f9d6178 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,507 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a string message of the and . + + + + Checks if the given is enabled. + + level to be checked. + true if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + An IDisposable that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type who's name is used for the logger category name. + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the scope message. + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new ILogger instance using the full name of the given type. + + The type. + The factory. + + + + Creates a new ILogger instance using the full name of the given type. + + The factory. + The type. + + + + Creates delegates which can be later cached to log messages in a performant way. + + + + + Creates a delegate which can be invoked to create a log scope. + + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Minimalistic logger that does nothing. + + + + + + + + + + + + + + Provider for the . + + + + + + + + + + + An empty scope without any logic + + + + + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedformatItem} in the format string. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + diff --git a/bin/Release/Microsoft.Extensions.Logging.dll b/bin/Release/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..88d5257 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Logging.dll differ diff --git a/bin/Release/Microsoft.Extensions.Logging.xml b/bin/Release/Microsoft.Extensions.Logging.xml new file mode 100644 index 0000000..8d85942 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Logging.xml @@ -0,0 +1,31 @@ + + + + Microsoft.Extensions.Logging + + + + + Summary description for LoggerFactory + + + + + Check if the factory has been disposed. + + True when as been called + + + + Extension methods for setting up logging services in an . + + + + + Adds logging services to the specified . + + The to add services to. + The so that additional calls can be chained. + + + diff --git a/bin/Release/Microsoft.Extensions.Options.dll b/bin/Release/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..f37c362 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Options.dll differ diff --git a/bin/Release/Microsoft.Extensions.Options.xml b/bin/Release/Microsoft.Extensions.Options.xml new file mode 100644 index 0000000..9afcfb4 --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Options.xml @@ -0,0 +1,246 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of IConfigureOptions. + + + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure Action. + + + + + + Represents something that configures the TOptions type. + + + + + + Invoked to configure a TOptions instance. + + The options instance to configure. + + + + Used to retreive configured TOptions instances. + + The type of options being requested. + + + + The configured TOptions instance. + + + + + Used to fetch IChangeTokens used for tracking options changes. + + + + + + Returns a IChangeToken which can be used to register a change notification callback. + + + + + + Used for notifications when TOptions instances change. + + The options type. + + + + Returns the current TOptions instance. + + + + + Registers a listener to be called whenever TOptions changes. + + The action to be invoked when TOptions has changed. + An IDisposable which should be disposed to stop listening for changes. + + + + Used to access the value of TOptions for the lifetime of a request. + + + + + + Returns the value of the TOptions which will be computed once + + + + + + Helper class. + + + + + Creates a wrapper around an instance of TOptions to return itself as an IOptions. + + + + + + + + Implementation of IOptions. + + + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + + + + The configured options instance. + + + + + Implementation of IOptionsMonitor. + + + + + + Constructor. + + The configuration actions to run on an options instance. + The sources used to listen for changes to the options instance. + + + + The present value of the options. + + + + + Registers a listener to be called whenever TOptions changes. + + The action to be invoked when TOptions has changed. + An IDisposable which should be disposed to stop listening for changes. + + + + Implementation of IOptionsSnapshot. + + + + + + Initializes a new instance. + + The monitor to fetch the options value from. + + + + The configured options instance. + + + + + IOptions wrapper that returns the options instance. + + + + + + Intializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + + + Failed to convert '{0}' to type '{1}'. + + + + + Failed to convert '{0}' to type '{1}'. + + + + + Failed to create instance of type '{0}'. + + + + + Failed to create instance of type '{0}'. + + + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + diff --git a/bin/Release/Microsoft.Extensions.Primitives.dll b/bin/Release/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000..fdf4fc0 Binary files /dev/null and b/bin/Release/Microsoft.Extensions.Primitives.dll differ diff --git a/bin/Release/Microsoft.Extensions.Primitives.xml b/bin/Release/Microsoft.Extensions.Primitives.xml new file mode 100644 index 0000000..80890aa --- /dev/null +++ b/bin/Release/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,299 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occured. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + Propagates notifications that a change has occured. + + + + + Gets a value that indicates if a change has occured. + + + + + Indicates if this token will pro-actively raise callbacks. Callbacks are still guaranteed to fire, eventually. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string.. + + + + + An optimized representation of a substring. + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether or not this contains a valid value. + + + + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + true if the current object is equal to the other parameter; otherwise, false. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + true if the current object is equal to the other parameter; otherwise, false. + + + + Checks if the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + true if the specified is equal to the current ; otherwise, false. + + + + + This GetHashCode is expensive since it allocates on every call. + However this is required to ensure we retain any behavior (such as hash code randomization) that + string.GetHashCode has. + + + + + Checks if two specified have the same value. + + The first to compare, or null. + The second to compare, or null. + true if the value of is the same as the value of ; otherwise, false. + + + + Checks if two specified have different values. + + The first to compare, or null. + The second to compare, or null. + true if the value of is different from the value of ; otherwise, false. + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + true if matches the beginning of this ; otherwise, false. + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + true if matches the end of this ; otherwise, false. + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of length that begins at in this + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of length that begins at in this + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Returns the represented by this or String.Empty if the does not contain a value. + + The represented by this or String.Empty if the does not contain a value. + + + + Tokenizes a string into s. + + + + + Initializes a new instance of . + + The string to tokenize. + The characters to tokenize by. + + + + Represents zero/null, one, or many strings in an efficient way. + + + + diff --git a/bin/Release/Remotion.Linq.dll b/bin/Release/Remotion.Linq.dll new file mode 100644 index 0000000..2298141 Binary files /dev/null and b/bin/Release/Remotion.Linq.dll differ diff --git a/bin/Release/Remotion.Linq.xml b/bin/Release/Remotion.Linq.xml new file mode 100644 index 0000000..44334ef --- /dev/null +++ b/bin/Release/Remotion.Linq.xml @@ -0,0 +1,4089 @@ + + + + Remotion.Linq + + + + + Indicates the condition parameter of the assertion method. + The method itself should be marked by attribute. + The mandatory argument of the attribute is the assertion type. + + + + + + Initializes new instance of AssertionConditionAttribute + + Specifies condition type + + + + Gets condition type + + + + + Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues. + Otherwise, execution is assumed to be halted + + + + + Indicates that the marked parameter should be evaluated to true + + + + + Indicates that the marked parameter should be evaluated to false + + + + + Indicates that the marked parameter should be evaluated to null value + + + + + Indicates that the marked parameter should be evaluated to not null value + + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied. + To set the condition, mark one of the parameters with attribute + + + + + + When applied to target attribute, specifies a requirement for any type which is marked with + target attribute to implement or inherit specific type or types + + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + public class ComponentAttribute : Attribute + {} + + [Component] // ComponentAttribute requires implementing IComponent interface + public class MyComponent : IComponent + {} + + + + + + Initializes new instance of BaseTypeRequiredAttribute + + Specifies which types are required + + + + Gets enumerations of specified base types + + + + + Indicates that the value of marked element could be null sometimes, so the check for null is necessary before its usage + + + + + Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators. + There is only exception to compare with null, it is permitted + + + + + Describes dependency between method input and output + + +

Function definition table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally.
+ "canbenull" annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] public void TerminationMethod() + [ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method + [ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty + [ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result) + + +
+ + + Only entity marked with attribute considered used + + + + + Indicates implicit assignment to a member + + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + + Indicates implicit instantiation of a type + + + + + Specify what is considered used implicitly when marked with or + + + + + Members of entity marked with attribute are considered used + + + + + Entity marked with attribute and all its members considered used + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is delegate, indicates that delegate is executed while the method is executed. + If the parameter is enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that the function argument should be string literal and match one of the parameters of the caller function. + For example, has such parameter. + + + + + Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. + + + + + Indicates that marked element should be localized or not. + + + + + Initializes a new instance of the class with + set to . + + + + + Initializes a new instance of the class. + + true if a element should be localized; otherwise, false. + + + + Returns whether the value of the given object is equal to the current . + + The object to test the value equality of. + + true if the value of the given object is equal to that of the current; otherwise, false. + + + + + Returns the hash code for this instance. + + A hash code for the current . + + + + Gets a value indicating whether a element should be localized. + true if a element should be localized; otherwise, false. + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections) + + + + + Gets value indicating what is meant to be used + + + + + Indicates that IEnumarable, passed as parameter, is not enumerated. + + + + + + Indicates that the function is used to notify class type property value is changed. + + + + + Indicates that the value of marked element could never be null + + + + + This attribute is intended to mark publicly available API which should not be removed and so is treated as used. + + + + + Indicates that method doesn't contain observable side effects. + + + + + Indicates that marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. + The format string should be in -like form + + + + + Initializes new instance of StringFormatMethodAttribute + + Specifies which parameter of an annotated method should be treated as format-string + + + + Gets format parameter name + + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections) + + + + + Gets value indicating what is meant to be used + + + + + This utility class provides methods for checking arguments. + + + Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another + type: + ("o", o); + } + ]]> + In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors + or property setters: + + + + + Returns the value itself if it is not and of the specified value type. + The type that must have. + The is a . + The is an instance of another type. + + + Checks of the is of the . + The is a . + The is an instance of another type. + + + Returns the value itself if it is of the specified type. + The type that must have. + + is an instance of another type (which is not a subtype of ). + + is null and cannot be null. + + For non-nullable value types, you should use either or pass the type + instead. + + + + Checks whether is not and can be assigned to . + The is . + The cannot be assigned to . + + + Checks whether can be assigned to . + The cannot be assigned to . + + + Checks whether can be assigned to . + The cannot be assigned to . + + + Checks whether all items in are of type or a null reference. + If at least one element is not of the specified type or a derived type. + + + Checks whether all items in are of type and not null references. + If at least one element is not of the specified type or a derived type. + If at least one element is a null reference. + + + + Provides methods that throw an if an assertion fails. + + + + This class contains methods that are conditional to the DEBUG and TRACE attributes ( and ). + + Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during + compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do + not cause any side effects! See or and the for more information + about conditional compilation. + + Assertions are no replacement for checking input parameters of public methods (see ). + + + + + + Determines whether a type is nullable, ie. whether variables of it can be assigned . + + The type to check. + + true if is nullable; otherwise, false. + + + A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types. + + + + + Represents a data source in a query that adds new data items in addition to those provided by the . + + + In C#, the second "from" clause in the following sample corresponds to an : + + var query = from s in Students + from f in s.Friends + select f; + + + + + + Base class for and . + + + + + + Common interface for from clauses ( and ). From clauses define query sources that + provide data items to the query which are filtered, ordered, projected, or otherwise processed by the following clauses. + + + + + Represents a clause within the . Implemented by , , + , and . + + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Represents a clause or result operator that generates items which are streamed to the following clauses or operators. + + + + + Gets the name of the items generated by this . + + + Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression. + However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for + uniquely identifying objects. To match an with its references, use the + property rather than the . + + + + + Gets the type of the items generated by this . + + + + + Copies the 's attributes, i.e. the , , and + . + + + + + + The expression generating the data items for this from clause. + + + + + Initializes a new instance of the class. + + A name describing the items generated by the from clause. + The type of the items generated by the from clause. + The generating data items for this from clause. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Gets or sets a name describing the items generated by this from clause. + + + Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression. + However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for + uniquely identifying objects. To match an with its references, use the + property rather than the . + + + + + Gets or sets the type of the items generated by this from clause. + + + Changing the of a can make all objects that + point to that invalid, so the property setter should be used with care. + + + + + The expression generating the data items for this from clause. + + + + + Represents a clause in a 's collection. Body clauses take the items generated by + the , filtering (), ordering (), augmenting + (), or otherwise processing them before they are passed to the . + + + + + Accepts the specified visitor by calling one of its Visit... methods. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Clones this clause, registering its clone with the if it is a query source clause. + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Initializes a new instance of the class. + + A name describing the items generated by the from clause. + The type of the items generated by the from clause. + The generating the items of this from clause. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Clones this clause, registering its clone with the . + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Aggregates all objects needed in the process of cloning a and its clauses. + + + + + Gets the clause mapping used during the cloning process. This is used to adjust the instances + of clauses to point to clauses in the cloned . + + + + + This interface should be implemented by visitors that handle the instances. + + + + + This interface should be implemented by visitors that handle VB-specific expressions. + + + + + Wraps an exception whose partial evaluation caused an exception. + + + + When encounters an exception while evaluating an independent expression subtree, it + will wrap the subtree within a . The wrapper contains both the + instance and the that caused the exception. + + + To explicitly support this expression type, implement . + To ignore this wrapper and only handle the inner , call the method and visit the result. + + + Subclasses of that do not implement will, + by default, automatically reduce this expression type to the in the + method. + + + Subclasses of that do not implement will, + by default, ignore this expression and visit its child expressions via the and + methods. + + + + + + Represents an expression tree node that points to a query source represented by a . These expressions should always + point back, to a clause defined prior to the clause holding a . Otherwise, exceptions might be + thrown at runtime. + + + This particular expression overrides , i.e. it can be compared to another based + on the . + + + + + Determines whether the specified is equal to the current by + comparing the properties for reference equality. + + The to compare with the current . + + if the specified is a that points to the + same ; otherwise, false. + + + + + Gets the query source referenced by this expression. + + The referenced query source. + + + + Represents an that holds a subquery. The subquery is held by in its parsed form. + + + + + Represents a VB-specific comparison expression. + + + + To explicitly support this expression type, implement . + To treat this expression as if it were an ordinary , call its method and visit the result. + + + Subclasses of that do not implement will, by default, + automatically reduce this expression type to in the method. + + + Subclasses of that do not implement will, by default, + ignore this expression and visit its child expressions via the and + methods. + + + + + + Constructs a that is able to extract a specific simple expression from a complex + or . + + + + For example, consider the task of determining the value of a specific query source [s] from an input value corresponding to a complex + expression. This will return a able to perform this task. + + + + If the complex expression is [s], it will simply return input => input. + If the complex expression is new { a = [s], b = "..." }, it will return input => input.a. + If the complex expression is new { a = new { b = [s], c = "..." }, d = "..." }, it will return input => input.a.b. + + + + + + + Provides a base class for expression visitors used with re-linq, adding support for and . + + + + + Adjusts the arguments for a so that they match the given members. + + The arguments to adjust. + The members defining the required argument types. + + A sequence of expressions that are equivalent to , but converted to the associated member's + result type if needed. + + + + + Constructs a that is able to extract a specific simple from a + complex . + + The expression an accessor to which should be created. + The full expression containing the . + The input parameter to be used by the resulting lambda. Its type must match the type of . + The compares the via reference equality, + which means that exactly the same expression reference must be contained by for the visitor to return the + expected result. In addition, the visitor can only provide accessors for expressions nested in or + . + A acting as an accessor for the when an input matching + is given. + + + + + Takes an expression and replaces all instances, as defined by a given . + This is used whenever references to query sources should be replaced by a transformation. + + + + + Takes an expression and replaces all instances, as defined by a given + . + + The expression to be scanned for references. + The clause mapping to be used for replacing instances. + If , the visitor will throw an exception when + not mapped in the is encountered. If , + the visitor will ignore such expressions. + An expression with its instances replaced as defined by the + . + + + + Performs a reverse operation, i.e. creates a from a given resolved expression, + substituting all objects by getting the referenced objects from the lambda's input parameter. + + + Given the following input: + + ItemExpression: new AnonymousType ( a = [s1], b = [s2] ) + ResolvedExpression: [s1].ID + [s2].ID + + The visitor generates the following : input => input.a.ID + input.b.ID + The lambda's input parameter has the same type as the ItemExpression. + + + + + Performs a reverse operation, i.e. creates a from a given resolved expression, + substituting all objects by getting the referenced objects from the lambda's input parameter. + + The item expression representing the items passed to the generated via its input + parameter. + The resolved expression for which to generate a reverse resolved . + A from the given resolved expression, substituting all + objects by getting the referenced objects from the lambda's input parameter. The generated has exactly one + parameter which is of the type defined by . + + + + Performs a reverse operation on a , i.e. creates a new + with an additional parameter from a given resolved , + substituting all objects by getting the referenced objects from the new input parameter. + + The item expression representing the items passed to the generated via its new + input parameter. + The resolved for which to generate a reverse resolved . + The position at which to insert the new parameter. + A similar to the given resolved expression, substituting all + objects by getting the referenced objects from an additional input parameter. The new input parameter is of the type defined by + . + + + + Represents the join part of a query, adding new data items and joining them with data items from previous clauses. In contrast to + , the does not provide access to the individual items of the joined query source. + Instead, it provides access to all joined items for each item coming from the previous clauses, thus grouping them together. The semantics + of this join is so that for all input items, a joined sequence is returned. That sequence can be empty if no joined items are available. + + + In C#, the "into" clause in the following sample corresponds to a . The "join" part before that is encapsulated + as a held in . The adds a new query source to the query + ("addresses"), but the item type of that query source is , not "Address". Therefore, it can be + used in the of an to extract the single items. + + var query = from s in Students + join a in Addresses on s.AdressID equals a.ID into addresses + from a in addresses + select new { s, a }; + + + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Clones this clause, registering its clone with the . + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Gets or sets a name describing the items generated by this . + + + Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression. + However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for + uniquely identifying objects. To match an with its references, use the + property rather than the . + + + + + Gets or sets the type of the items generated by this . This must implement . + + + Changing the of a can make all objects that + point to that invalid, so the property setter should be used with care. + + + + + Gets or sets the inner join clause of this . The represents the actual join operation + performed by this clause; its results are then grouped by this clause before streaming them to subsequent clauses. + objects outside the must not point to + because the items generated by it are only available in grouped form from outside this clause. + + + + + Represents the join part of a query, adding new data items and joining them with data items from previous clauses. This can either + be part of or of . The semantics of the + is that of an inner join, i.e. only combinations where both an input item and a joined item exist are returned. + + + In C#, the "join" clause in the following sample corresponds to a . The adds a new + query source to the query, selecting addresses (called "a") from the source "Addresses". It associates addresses and students by + comparing the students' "AddressID" properties with the addresses' "ID" properties. "a" corresponds to and + , "Addresses" is and the left and right side of the "equals" operator are held by + and , respectively: + + var query = from s in Students + join a in Addresses on s.AdressID equals a.ID + select new { s, a }; + + + + + + Initializes a new instance of the class. + + A name describing the items generated by this . + The type of the items generated by this . + The expression that generates the inner sequence, i.e. the items of this . + An expression that selects the left side of the comparison by which source items and inner items are joined. + An expression that selects the right side of the comparison by which source items and inner items are joined. + + + + Accepts the specified visitor by calling its + method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Accepts the specified visitor by calling its + method. This overload is used when visiting a that is held by a . + + The visitor to accept. + The query model in whose context this clause is visited. + The holding this instance. + + + + Clones this clause, registering its clone with the . + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Gets or sets the type of the items generated by this . + + + Changing the of a can make all objects that + point to that invalid, so the property setter should be used with care. + + + + + Gets or sets a name describing the items generated by this . + + + Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression. + However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for + uniquely identifying objects. To match an with its references, use the + property rather than the . + + + + + Gets or sets the inner sequence, the expression that generates the inner sequence, i.e. the items of this . + + The inner sequence. + + + + Gets or sets the outer key selector, an expression that selects the right side of the comparison by which source items and inner items are joined. + + The outer key selector. + + + + Gets or sets the inner key selector, an expression that selects the left side of the comparison by which source items and inner items are joined. + + The inner key selector. + + + + Represents the main data source in a query, producing data items that are filtered, aggregated, projected, or otherwise processed by + subsequent clauses. + + + In C#, the first "from" clause in the following sample corresponds to the : + + var query = from s in Students + from f in s.Friends + select f; + + + + + + Initializes a new instance of the class. + + A name describing the items generated by the from clause. + The type of the items generated by the from clause. + The generating data items for this from clause. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + + + + Clones this clause, registering its clone with the . + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Represents the orderby part of a query, ordering data items according to some . + + + In C#, the whole "orderby" clause in the following sample (including two orderings) corresponds to an : + + var query = from s in Students + orderby s.Last, s.First + select s; + + + + + + Initializes a new instance of the class. + + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Clones this clause. + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Gets the instances that define how to sort the items coming from previous clauses. The order of the + in the collection defines their priorities. For example, { LastName, FirstName } would sort all items by + LastName, and only those items that have equal LastName values would be sorted by FirstName. + + + + + Represents a single ordering instruction in an . + + + + + Initializes a new instance of the class. + + The expression used to order the data items returned by the query. + The to use for sorting. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The in whose context this item is visited. + The index of this item in the 's collection. + + + + Clones this item. + + The clones of all query source clauses are registered with this . + A clone of this item. + + + + Transforms all the expressions in this item via the given delegate. + + The transformation object. This delegate is called for each within this + item, and those expressions will be replaced with what the delegate returns. + + + + Gets or sets the expression used to order the data items returned by the query. + + The expression. + + + + Gets or sets the direction to use for ordering data items. + + + + + Specifies the direction used to sort the result items in a query using an . + + + + + Sorts the items in an ascending way, from smallest to largest. + + + + + Sorts the items in an descending way, from largest to smallest. + + + + + Maps instances to instances. This is used by + in order to be able to correctly update references to old clauses to point to the new clauses. Via + , it can also be used manually. + + + + + Represents an operation that is executed on the result set of the query, aggregating, filtering, or restricting the number of result items + before the query result is returned. + + + + + Executes this result operator in memory, on a given input. Executing result operators in memory should only be + performed if the target query system does not support the operator. + + The input for the result operator. This must match the type of expected by the operator. + The result of the operator. + + + + Gets information about the data streamed out of this . This contains the result type a query would have if + it ended with this , and it optionally includes an describing + the streamed sequence's items. + + Information about the data produced by the preceding , or the + of the query if no previous exists. + Gets information about the data streamed out of this . + + + + Clones this item, registering its clone with the if it is a query source clause. + + The clones of all query source clauses are registered with this . + A clone of this item. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this item in the 's collection. + + + + Transforms all the expressions in this item via the given delegate. Subclasses must apply the + to any expressions they hold. If a subclass does not hold any expressions, it shouldn't do anything + in the implementation of this method. + + The transformation object. This delegate is called for each within this + item, and those expressions will be replaced with what the delegate returns. + + + + Invokes the given via reflection on the given . + + The input to invoke the method with. + The method to be invoked. + The result of the invocation + + + + Gets the constant value of the given expression, assuming it is a . If it is + not, an is thrown. + + The expected value type. If the value is not of this type, an is thrown. + A string describing the value; this will be included in the exception message if an exception is thrown. + The expression whose value to get. + + The constant value of the given . + + + + + Represents aggregating the items returned by a query into a single value with an initial seeding value. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Aggregate" call in the following example corresponds to an . + + var result = (from s in Students + select s).Aggregate(0, (totalAge, s) => totalAge + s.Age); + + + + + + Represents a that is executed on a sequence, returning a scalar value or single item as its result. + + + + + Initializes a new instance of the class. + + The seed expression. + The aggregating function. This is a taking a parameter that represents the value accumulated so + far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators + are represented as expressions containing nodes. + The result selector, can be . + + + + Gets the constant value of the property, assuming it is a . If it is + not, an is thrown. + + The expected seed type. If the item is not of this type, an is thrown. + The constant value of the property. + + + + + + + Executes the aggregating operation in memory. + + The type of the source items. + The type of the aggregated items. + The type of the result items. + The input sequence. + A object holding the aggregated value. + + + + + + + + + + + + + Gets or sets the aggregating function. This is a taking a parameter that represents the value accumulated so + far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators + are represented as expressions containing nodes. + + The aggregating function. + + + + Gets or sets the seed of the accumulation. This is an denoting the starting value of the aggregation. + + The seed of the accumulation. + + + + Gets or sets the result selector. This is a applied after the aggregation to select the final value. + Can be . + + The result selector. + + + + Represents aggregating the items returned by a query into a single value. The first item is used as the seeding value for the aggregating + function. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Aggregate" call in the following example corresponds to an . + + var result = (from s in Students + select s.Name).Aggregate((allNames, name) => allNames + " " + name); + + + + + + Initializes a new instance of the class. + + The aggregating function. This is a taking a parameter that represents the value accumulated so + far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators + are represented as expressions containing nodes. + + + + + + + + + + + + + + + + Gets or sets the aggregating function. This is a taking a parameter that represents the value accumulated so + far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators + are represented as expressions containing nodes. + + The aggregating function. + + + + Represents a check whether all items returned by a query satisfy a predicate. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "All" call in the following example corresponds to an . + + var result = (from s in Students + select s).All(); + + + + + + Initializes a new instance of the class. + + The predicate to evaluate. This is a resolved version of the body of the that would be + passed to . + + + + + + + + + + + + + + + + + + + Gets or sets the predicate to evaluate on all items in the sequence. + This is a resolved version of the body of the that would be + passed to . + + The predicate. + + + + Represents a check whether any items are returned by a query. + This is a result operator, operating on the whole result set of a query. + + + "Any" query methods taking a predicate are represented as into a combination of a and an + . + + + In C#, the "Any" call in the following example corresponds to an . + + var result = (from s in Students + select s).Any(); + + + + + + + + + + + + + + + + + + + + + Represents a calculation of an average value from the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Average" call in the following example corresponds to an . + + var query = (from s in Students + select s.ID).Average(); + + + + + + + + + Represents a cast of the items returned by a query to a different type. + This is a result operator, operating on the whole result set of a query. + + + In C#, "Cast" call in the following example corresponds to a . + + var query = (from s in Students + select s.ID).Cast<int>(); + + + + + + Represents a that is executed on a sequence, returning a new sequence as its result. + + + + + + + + Represents a that is executed on a sequence, choosing a single item for its result. + + + + + Represents concatenating the items returned by a query with a given set of items, similar to the but + retaining duplicates (and order). + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Concat" call in the following example corresponds to a . + + var query = (from s in Students + select s).Concat(students2); + + + + + + Gets the value of , assuming holds a . If it doesn't, + an is thrown. + + The constant value of . + + + + Gets or sets the second source of this result operator, that is, an enumerable containing the items concatenated with the input sequence. + + + + + Represents a check whether the results returned by a query contain a specific item. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Contains" call in the following example corresponds to a . + + var query = (from s in Students + select s).Contains (student); + + + + + + Initializes a new instance of the class. + + The item for which to be searched. + + + + Gets the constant value of the property, assuming it is a . If it is + not, an is thrown. + + The expected item type. If the item is not of this type, an is thrown. + The constant value of the property. + + + + Gets or sets an expression yielding the item for which to be searched. This must be compatible with (ie., assignable to) the source sequence + items. + + The item expression. + + + + Represents counting the number of items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + "Count" query methods taking a predicate are represented as a combination of a and a . + /// + In C#, the "Count" call in the following example corresponds to a . + + var query = (from s in Students + select s).Count(); + + + + + + + + + Represents a guard clause yielding a singleton sequence with a default value if no items are returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Defaultifempty" call in the following example corresponds to a . + + var query = (from s in Students + select s).DefaultIfEmpty ("student"); + + + + + + Represents a that is executed on a sequence, returning a new sequence with the same + item type as its result. + + + + + Gets the constant value of the property, assuming it is a . If it is + not, an is thrown. If it is , is returned. + + The constant value of the property. + + + + Gets or sets the optional default value. + + The optional default value. + + + + Represents the removal of duplicate values from the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Distinct" call in the following example corresponds to a . + + var query = (from s in Students + select s).Distinct(); + + + + + + + + + Represents the removal of a given set of items from the result set of a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Except" call in the following example corresponds to a . + + var query = (from s in Students + select s).Except(students2); + + + + + + Gets the value of , assuming holds a . If it doesn't, + an is thrown. + + The constant value of . + + + + Gets or sets the second source of this result operator, that is, an enumerable containing the items removed from the input sequence. + + + + + Represents taking only the first of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + "First" query methods taking a predicate are represented as a combination of a and a . + + + In C#, the "First" call in the following example corresponds to a . + + var query = (from s in Students + select s).First(); + + + + + + Initializes a new instance of the . + + The flag defines if a default expression should be regarded. + + + + + + + Represents grouping the items returned by a query according to some key retrieved by a , applying by an + to the grouped items. This is a result operator, operating on the whole result set of the query. + + + In C#, the "group by" clause in the following sample corresponds to a . "s" (a reference to the query source + "s", see ) is the expression, "s.Country" is the + expression: + + var query = from s in Students + where s.First == "Hugo" + group s by s.Country; + + + + + + Initializes a new instance of the class. + + A name associated with the items generated by the result operator. + The selector retrieving the key by which to group items. + The selector retrieving the elements to group. + + + + Clones this clause, adjusting all instances held by it as defined by + . + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Gets or sets the name of the items generated by this . + + + Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression. + However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for + uniquely identifying objects. To match an with its references, use the + property rather than the . + + + + + Gets or sets the type of the items generated by this . The item type is an instantiation of + derived from the types of and . + + + + + Gets or sets the selector retrieving the key by which to group items. + This is a resolved version of the body of the that would be + passed to . + + The key selector. + + + + Gets or sets the selector retrieving the elements to group. + This is a resolved version of the body of the that would be + passed to . + + The element selector. + + + + Represents taking the mathematical intersection of a given set of items and the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Intersect" call in the following example corresponds to a . + + var query = (from s in Students + select s).Intersect(students2); + + + + + + Gets the value of , assuming holds a . If it doesn't, + an is thrown. + + The constant value of . + + + + Gets or sets the second source of this result operator, that is, an enumerable containing the items intersected with the input sequence. + + + + + Represents taking only the last one of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + "Last" query methods taking a predicate are represented as a combination of a and a . + + + In C#, the "Last" call in the following example corresponds to a . + + var query = (from s in Students + select s).Last(); + + + + + + Initializes a new instance of the . + + The flag defines if a default expression should be regarded. + + + + + + + Represents counting the number of items returned by a query as a 64-bit number. + This is a result operator, operating on the whole result set of a query. + + + "LongCount" query methods taking a predicate are represented as a combination of a and a + . + + + In C#, the "LongCount" call in the following example corresponds to a . + + var query = (from s in Students + select s).LongCount(); + + + + + + + + + Represents taking only the greatest one of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + The semantics of "greatest" are defined by the query provider. "Max" query methods taking a selector are represented as a combination + of a and a . + + + In C#, the "Max" call in the following example corresponds to a . + + var query = (from s in Students + select s.ID).Max(); + + + + + + Initializes a new instance of the . + + + + + + + + Represents taking only the smallest one of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + The semantics of "smallest" are defined by the query provider. "Min" query methods taking a selector are represented as a combination + of a and a . + + + In C#, the "Min" call in the following example corresponds to a . + + var query = (from s in Students + select s.ID).Min(); + + + + + + Initializes a new instance of the . + + + + + + + + Represents filtering the items returned by a query to only return those items that are of a specific type. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "OfType" call in the following example corresponds to a . + + var query = (from s in Students + select s.ID).OfType<int>(); + + + + + + + + + Represents reversing the sequence of items returned by of a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Reverse" call in the following example corresponds to a . + + var query = (from s in Students + select s).Reverse(); + + + + + + + + + Represents taking the single item returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Single" call in the following example corresponds to a . + + var query = (from s in Students + select s).Single(); + + + + + + Initializes a new instance of the . + + The flag defines if a default expression should be regarded. + + + + + + + Represents skipping a number of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Skip" call in the following example corresponds to a . + + var query = (from s in Students + select s).Skip (3); + + + + + + Gets the constant value of the property, assuming it is a . If it is + not, an is thrown. + + The constant value of the property. + + + + Represents calculating the sum of the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Sum" call in the following example corresponds to a . + + var query = (from s in Students + select s.ID).Sum(); + + + + + + + + + Represents taking only a specific number of items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Take" call in the following example corresponds to a . + + var query = (from s in Students + select s).Take(3); + + + + + + Initializes a new instance of the . + + The number of elements which should be returned. + + + + Gets the constant value of the property, assuming it is a . If it is + not, an is thrown. + + The constant value of the property. + + + + Represents forming the mathematical union of a given set of items and the items returned by a query. + This is a result operator, operating on the whole result set of a query. + + + In C#, the "Union" call in the following example corresponds to a . + + var query = (from s in Students + select s).Union(students2); + + + + + + Gets the value of , assuming holds a . If it doesn't, + an is thrown. + + The constant value of . + + + + Gets or sets the second source of this result operator, that is, an enumerable containing the items united with the input sequence. + + + + + Represents the select part of a query, projecting data items according to some . + + + In C#, the "select" clause in the following sample corresponds to a . "s" (a reference to the query source "s", see + ) is the expression: + + var query = from s in Students + where s.First == "Hugo" + select s; + + + + + + Initializes a new instance of the class. + + The selector that projects the data items. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + + + + Clones this clause. + + The clones of all query source clauses are registered with this . + A clone of this clause. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Gets an object describing the data streaming out of this . If a query ends with + the , this corresponds to the query's output data. If a query has , the data + is further modified by those operators. Use to obtain the real result type of + a query model, including the . + + Gets a object describing the data streaming out of this . + + The data streamed from a is always of type instantiated + with the type of as its generic parameter. Its corresponds to the + . + + + + + Gets the selector defining what parts of the data items are returned by the query. + + + + + Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for + . The data held by implementations of this interface can be either a value or a sequence. + + + + + Gets an object describing the data held by this instance. + + An object describing the data held by this instance. + + + + Gets the value held by this instance. + + The value. + + + + Describes the data streamed out of a or . + + + + + Executes the specified with the given , calling either + or , depending on the type of data streamed + from this interface. + + The query model to be executed. + The executor to use. + An object holding the results of the query execution. + + + + Returns a new of the same type as this instance, but with a new . + + The type to use for the property. The type must be compatible with the data described by this + , otherwise an exception is thrown. + The type may be a generic type definition if the supports generic types; in this case, + the type definition is automatically closed with generic parameters to match the data described by this . + A new of the same type as this instance, but with a new . + The is not compatible with the data described by this + . + + + + Gets the type of the data described by this instance. For a sequence, this is a type implementing + , where T is instantiated with a concrete type. For a single value, this is the value type. + + + + + Describes a scalar value streamed out of a or . A scalar value corresponds to a + value calculated from the result set, as produced by or , for instance. + + + + + Describes a single or scalar value streamed out of a or . + + + + + + + + Returns a new instance of the same type with a different . + + The new data type. + The cannot be used for the clone. + A new instance of the same type with the given . + + + + + + + Gets the type of the data described by this instance. This is the type of the streamed value, or + if the value is . + + + + + Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for + . The data consists of a sequence of items. + + + + + Initializes a new instance of the class, setting the and + properties. + + The sequence. + An instance of describing the sequence. + + + + Gets the current sequence held by this object as well as an describing the + sequence's items, throwing an exception if the object does not hold a sequence of items of type . + + The expected item type of the sequence. + + The sequence and an describing its items. + + Thrown when the item type is not the expected type . + + + + Gets the current sequence for the operation. If the object is used as input, this + holds the input sequence for the operation. If the object is used as output, this holds the result of the operation. + + The current sequence. + + + + Describes sequence data streamed out of a or . Sequence data can be held by an object + implementing , and its items are described via a . + + + + + Returns a new with an adjusted . + + The type to use for the property. The type must be convertible from the previous type, otherwise + an exception is thrown. The type may be a generic type definition; in this case, + the type definition is automatically closed with the type of the . + + A new with a new . + + The is not compatible with the items described by this + . + + + + Gets the type of the items returned by the sequence described by this object, as defined by . Note that because + is covariant starting from .NET 4.0, this may be a more abstract type than what's returned by + 's property. + + + + + Gets an expression that describes the structure of the items held by the sequence described by this object. + + The expression for the sequence's items. + + + + Gets the type of the data described by this instance. This is a type implementing + , where T is instantiated with a concrete type. + + + + + Describes a single value streamed out of a or . A single value corresponds to one + item from the result set, as produced by or , for instance. + + + + + Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for + . The data is a single, non-sequence value and can only be consumed by result operators + working with single values. + + + + + Initializes a new instance of the class, setting the and properties. + + The value. + A describing the value. + + + + Gets the value held by , throwing an exception if the value is not of type . + + The expected type of the value. + , cast to . + Thrown when if not of the expected type. + + + + Gets an object describing the data held by this instance. + + + An object describing the data held by this instance. + + + + + Gets the current value for the operation. If the object is used as input, this + holds the input value for the operation. If the object is used as output, this holds the result of the operation. + + The current value. + + + + Represents the where part of a query, filtering data items according to some . + + + In C#, the "where" clause in the following sample corresponds to a : + + var query = from s in Students + where s.First == "Hugo" + select s; + + + + + + Initializes a new instance of the class. + + The predicate used to filter data items. + + + + Accepts the specified visitor by calling its method. + + The visitor to accept. + The query model in whose context this clause is visited. + The index of this clause in the 's collection. + + + + Transforms all the expressions in this clause and its child objects via the given delegate. + + The transformation object. This delegate is called for each within this + clause, and those expressions will be replaced with what the delegate returns. + + + + Clones this clause. + + The clones of all query source clauses are registered with this . + + + + + Gets the predicate, the expression representing the where condition by which the data items are filtered + + + + + Provides a way to enumerate an while items are inserted, removed, or cleared in a consistent fashion. + + The element type of the . + + This class subscribes to the event exposed by + and reacts on changes to the collection. If an item is inserted or removed before the current element, the enumerator will continue after + the current element without regarding the new or removed item. If the current item is removed, the enumerator will continue with the item that + previously followed the current item. If an item is inserted or removed after the current element, the enumerator will simply continue, + including the newly inserted item and not including the removed item. If an item is moved or replaced, the enumeration will also continue + with the item located at the next position in the sequence. + + + + + Represents an item enumerated by . This provides access + to the as well as the of the enumerated item. + + + + + Gets the index of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an + . If an item is inserted into or removed from the collection before the current item, this + index will change. + + + + + Gets the value of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an + . + + The value. + + + + Defines extension methods that simplify working with a dictionary that has a collection-values item-type. + + + + + Extension methods for + + + + + Returns an instance of that represents this collection and can be enumerated even while the collection changes; + the enumerator will adapt to the changes (see ). + + + + + Returns an instance of that represents this collection and can be enumerated even while the collection changes; + the enumerator will adapt to the changes (see ). The enumerable will yield + instances of type , which hold both the index and the value of the current item. If this collection changes + while enumerating, will reflect those changes. + + + + + Represents a default implementation of that is automatically used by + unless a custom is specified. The executes queries by parsing them into + an instance of type , which is then passed to an implementation of to obtain the + result set. + + + + + Provides a default implementation of that executes queries (subclasses of ) by + first parsing them into a and then passing that to a given implementation of . + Usually, should be used unless must be manually implemented. + + + + + Initializes a new instance of using a custom . Use this + constructor to customize how queries are parsed. + + The used to parse queries. Specify an instance of + for default behavior. + The used to execute queries against a specific query backend. + + + + Constructs an object that can evaluate the query represented by a specified expression tree. This + method delegates to . + + An expression tree that represents a LINQ query. + + An that can evaluate the query represented by the specified expression tree. + + + + + Constructs an object that can evaluate the query represented by a specified expression tree. This method is + called by the standard query operators defined by the class. + + An expression tree that represents a LINQ query. + + An that can evaluate the query represented by the specified expression tree. + + + + + Executes the query defined by the specified expression by parsing it with a + and then running it through the . + This method is invoked through the interface methods, for example by + and + , and it's also used by + when the is enumerated. + + + Override this method to replace the query execution mechanism by a custom implementation. + + + + + Executes the query defined by the specified expression by parsing it with a + and then running it through the . + The result is cast to . + + The type of the query result. + The query expression to be executed. + The result of the query cast to . + + This method is called by the standard query operators that return a single value, such as + or + . + In addition, it is called by to execute queries that return sequences. + + + + + Executes the query defined by the specified expression by parsing it with a + and then running it through the . + + The query expression to be executed. + The result of the query. + + This method is similar to the method, but without the cast to a defined return type. + + + + + The method generates a . + + The query as expression chain. + a + + + + Gets the used by this to parse LINQ queries. + + The query parser. + + + + Gets or sets the implementation of used to execute queries created via . + + The executor used to execute queries. + + + + Initializes a new instance of using a custom . + + + A type implementing . This type is used to construct the chain of query operators. Must be a generic type + definition. + + The used to parse queries. Specify an instance of + for default behavior. See also . + The used to execute queries against a specific query backend. + + + + Creates a new (of type with as its generic argument) that + represents the query defined by and is able to enumerate its results. + + The type of the data items returned by the query. + An expression representing the query for which a should be created. + An that represents the query defined by . + + + + Gets the type of queryable created by this provider. This is the generic type definition of an implementation of + (usually a subclass of ) with exactly one type argument. + + + + + Constitutes the bridge between re-linq and a concrete query provider implementation. Concrete providers implement this interface + and calls the respective method of the interface implementation when a query is to be executed. + + + + + Executes the given as a scalar query, i.e. as a query returning a scalar value of type . + The query ends with a scalar result operator, for example a or a . + + The type of the scalar value returned by the query. + The representing the query to be executed. Analyze this via an + . + A scalar value of type that represents the query's result. + + The difference between and is in the kind of object that is returned. + is used when a query that would otherwise return a collection result set should pick a single value from the + set, for example the first, last, minimum, maximum, or only value in the set. is used when a value is + calculated or aggregated from all the values in the collection result set. This applies to, for example, item counts, average calculations, + checks for the existence of a specific item, and so on. + + + + + Executes the given as a single object query, i.e. as a query returning a single object of type + . + The query ends with a single result operator, for example a or a . + + The type of the single value returned by the query. + The representing the query to be executed. Analyze this via an + . + If , the executor must return a default value when its result set is empty; + if , it should throw an when its result set is empty. + A single value of type that represents the query's result. + + The difference between and is in the kind of object that is returned. + is used when a query that would otherwise return a collection result set should pick a single value from the + set, for example the first, last, minimum, maximum, or only value in the set. is used when a value is + calculated or aggregated from all the values in the collection result set. This applies to, for example, item counts, average calculations, + checks for the existence of a specific item, and so on. + + + + + Executes the given as a collection query, i.e. as a query returning objects of type . + The query does not end with a scalar result operator, but it can end with a single result operator, for example + or . In such a case, the returned enumerable must yield exactly + one object (or none if the last result operator allows empty result sets). + + The type of the items returned by the query. + The representing the query to be executed. Analyze this via an + . + A scalar value of type that represents the query's result. + + + + Defines an interface for visiting the clauses of a . + + + + When implement this interface, implement , then call Accept on every clause that should + be visited. Child clauses, joins, orderings, and result operators are not visited automatically; they always need to be explicitly visited + via , , , + , and so on. + + + provides a robust default implementation of this interface that can be used as a base for other visitors. + + + + + + Represents a being bound to an associated instance. This binding's + method returns only for the same the expression is bound to. + + + + + + Represents a being bound to an associated instance. This is used by the + to represent assignments in constructor calls such as new AnonymousType (a = 5), + where a is the member of AnonymousType and 5 is the associated expression. + The method can be used to check whether the member bound to an expression matches a given + (considering read access). See the subclasses for details. + + + + + Represents a being bound to an associated instance. + + This binding's + method returns for the same the expression is bound to or for a + whose getter method is the the expression is bound to. + + + + + Represents a being bound to an associated instance. + + This binding's + method returns for the same the expression is bound to + or for its getter method's . + + + + + Replaces nodes according to a given mapping specification. Expressions are also replaced within subqueries; the + is changed by the replacement operations, it is not copied. The replacement node is not recursively searched for + occurrences of nodes to be replaced. + + + + + Takes an expression tree and first analyzes it for evaluatable subtrees (using ), i.e. + subtrees that can be pre-evaluated before actually generating the query. Examples for evaluatable subtrees are operations on constant + values (constant folding), access to closure variables (variables used by the LINQ query that are defined in an outer scope), or method + calls on known objects or their members. In a second step, it replaces all of the evaluatable subtrees (top-down and non-recursive) by + their evaluated counterparts. + + + This visitor visits each tree node at most twice: once via the for analysis and once + again to replace nodes if possible (unless the parent node has already been replaced). + + + + + Takes an expression tree and finds and evaluates all its evaluatable subtrees. + + + + + Evaluates an evaluatable subtree, i.e. an independent expression tree that is compilable and executable + without any data being passed in. The result of the evaluation is returned as a ; if the subtree + is already a , no evaluation is performed. + + The subtree to be evaluated. + A holding the result of the evaluation. + + + + Replaces all nodes that equal a given with a replacement node. Expressions are also replaced within subqueries; the + is changed by the replacement operations, it is not copied. The replacement node is not recursively searched for + occurrences of the to be replaced. + + + + + Preprocesses an expression tree for parsing. The preprocessing involves detection of sub-queries and VB-specific expressions. + + + + + Transforms a given . If the can handle the , + it should return a new, transformed instance. Otherwise, it should return the input + instance. + + The expression to be transformed. + The result of the transformation, or if no transformation was applied. + + + + Manages registration and lookup of objects, and converts them to + weakly typed instances. Use this class together with + in order to apply the registered transformers to an tree. + + + + + defines an API for classes returning instances for specific + objects. Usually, the will be used when an implementation of this + interface is needed. + + + + + Gets the transformers for the given . + + The to be transformed. + + A sequence containing objects that should be applied to the . Must not + be . + + + + + Creates an with the default transformations provided by this library already registered. + New transformers can be registered by calling . + + A default . + + Currently, the default registry contains: + + + + + + + + + + + + + + Registers the specified for the transformer's + . If + returns , the is registered as a generic transformer which will be applied to all + nodes. + + The type of expressions handled by the . This should be a type implemented by all + expressions identified by . For generic transformers, + must be . + The transformer to register. + + + The order in which transformers are registered is the same order on which they will later be applied by + . When more than one transformer is registered for a certain , + each of them will get a chance to transform a given , until the first one returns a new . + At that point, the transformation will start again with the new (and, if the expression's type has changed, potentially + different transformers). + + + When generic transformers are registered, they act as if they had been registered for all values (including + custom ones). They will be applied in the order registered, but only after all respective specific transformers have run (without modifying + the expression, which would restart the transformation process with the new expression as explained above). + + + When an is registered for an incompatible , this is not detected until + the transformer is actually applied to an of that . + + + + + + is implemented by classes that transform instances. The + manages registration of instances, and the + applies the transformations. + + The type of expressions handled by this implementation. + + + is a convenience interface that provides strong typing, whereas + only operates on instances. + + + can be used together with the class by using the + class as the transformation provider. converts + strongly typed instances to weakly typed delegate instances. + + + + + + Transforms a given . If the implementation can handle the , + it should return a new, transformed instance. Otherwise, it should return the input + instance. + + The expression to be transformed. + The result of the transformation, or if no transformation was applied. + + + + Gets the expression types supported by this . + + The supported expression types. Return to support all expression types. (This is only sensible when + is .) + + + + + Dynamically discovers attributes implementing the interface on methods and get accessors + invoked by or instances and applies the respective + . + + + + + Defines an interface for attributes providing an for a given . + + + + detects attributes implementing this interface while expressions are parsed + and uses the returned by to modify the expressions. + + + Only one attribute instance implementing must be applied to a single method or property + get accessor. + + + + + + Detects nodes for and adds metadata to those nodes. + This allows LINQ providers to match member access and constructor arguments more easily. + + + + + Provides a base class for transformers detecting nodes for tuple types and adding metadata + to those nodes. This allows LINQ providers to match member access and constructor arguments more easily. + + + + + Detects expressions invoking a and replaces them with the body of that + (with the parameter references replaced with the invocation arguments). + Providers use this transformation to be able to handle queries with instances. + + + When the is applied to a delegate instance (rather than a + ), the ignores it. + + + + + Detects nodes for and adds metadata to those nodes. + This allows LINQ providers to match member access and constructor arguments more easily. + + + + + Chooses a given for a specific method (or property get accessor). + + + The must have a default constructor. To choose a transformer that does not have a default constructor, + create your own custom attribute class implementing + . + + + + + Replaces calls to and with casts and null checks. This allows LINQ providers + to treat nullables like reference types. + + + + + Detects nodes for the .NET tuple types and adds metadata to those nodes. + This allows LINQ providers to match member access and constructor arguments more easily. + + + + + Detects expressions calling the CompareString method used by Visual Basic .NET, and replaces them with + instances. Providers use this transformation to be able to handle VB string comparisons + more easily. See for details. + + + + + Detects expressions calling the Information.IsNothing (...) method used by Visual Basic .NET, and replaces them with + instances comparing with . Providers use this transformation to be able to + handle queries using IsNothing (...) more easily. + + + + + Applies delegates obtained from an to an expression tree. + The transformations occur in post-order (transforming child nodes before parent nodes). When a transformation changes + the current , its child nodes and itself will be revisited (and may be transformed again). + + + + + Replaces expression patterns of the form new T { x = 1, y = 2 }.x () or + new T ( x = 1, y = 2 ).x () to 1 (or 2 if y is accessed instead of x). + Expressions are also replaced within subqueries; the is changed by the replacement operations, it is not copied. + + + + + Base class for typical implementations of the . + + + + + + + The interface defines an extension point for disabling partial evaluation on specific nodes. + + + + Implement the individual evaluation methods and return to mark a specfic node as not partially + evaluatable. Note that the partial evaluation infrastructure will take care of visiting an node's children, + so the determination can usually be constrained to the attributes of the node itself. + + Use the type as a base class for filter implementations that only require testing a few + node types, e.g. to disable partial evaluation for individual method calls. + + + + + + + + Analyzes an expression tree by visiting each of its nodes, finding those subtrees that can be evaluated without modifying the meaning of + the tree. + + + An expression node/subtree is evaluatable if: + + it is not a or any non-standard expression, + it is not a that involves an , and + it does not have any of those non-evaluatable expressions as its children. + + + nodes are not evaluatable because they usually identify the flow of + some information from one query node to the next. + + nodes that involve parameters or object instances are not evaluatable because they + should usually be translated into the target query syntax. + + In .NET 3.5, non-standard expressions are not evaluatable because they cannot be compiled and evaluated by LINQ. + In .NET 4.0, non-standard expressions can be evaluated if they can be reduced to an evaluatable expression. + + + + + + Determines whether the given is one of the expressions defined by for which + has a dedicated Visit method. handles those by calling the respective Visit method. + + The expression to check. Must not be . + + if is one of the expressions defined by and + has a dedicated Visit method for it; otherwise, . + Note that -type expressions are considered 'not supported' and will also return . + + + + + Implementation of the null-object pattern for . + + + + + + Parses an expression tree into a chain of objects after executing a sequence of + objects. + + + + + Creates a default that already has all expression node parser defined by the re-linq assembly + registered. Users can add inner providers to register their own expression node parsers. + + A default that already has all expression node parser defined by the re-linq assembly + registered. + + + + Creates a default that already has the expression tree processing steps defined by the re-linq assembly + registered. Users can insert additional processing steps. + + + The tranformation provider to be used by the included + in the result set. Use to create a default provider. + + + The expression filter used by the included in the result set. + Use to indicate that no custom filtering should be applied. + + + A default that already has all expression tree processing steps defined by the re-linq assembly + registered. + + + The following steps are included: + + + (parameterized with ) + + + + + + Initializes a new instance of the class with a custom and + implementation. + + The to use when parsing trees. Use + to create an instance of that already includes all + default node types. (The can be customized as needed by adding or removing + ). + The to apply to trees before parsing their nodes. Use + to create an instance of that already includes + the default steps. (The can be customized as needed by adding or removing + ). + + + + Parses the given into a chain of instances, using + to convert expressions to nodes. + + The expression tree to parse. + A chain of instances representing the . + + + + Gets the query operator represented by . If + is already a , that is the assumed query operator. If is a + and the member's getter is registered with , a corresponding + is constructed and returned. Otherwise, is returned. + + The expression to get a query operator expression for. + A to be parsed as a query operator, or if the expression does not represent + a query operator. + + + + Infers the associated identifier for the source expression node contained in methodCallExpression.Arguments[0]. For example, for the + call chain "source.Where (i => i > 5)" (which actually reads "Where (source, i => i > 5"), the identifier "i" is associated + with the node generated for "source". If no identifier can be inferred, is returned. + + + + + Gets the node type provider used to parse instances in . + + The node type provider. + + + + Gets the processing steps used by to process the tree before analyzing its structure. + + The processing steps. + + + + Implements by storing a list of inner instances. + The method calls each inner instance in the order defined by the property. This is an + implementation of the Composite Pattern. + + + + + is implemented by classes that represent steps in the process of parsing the structure + of an tree. applies a series of these steps to the + tree before analyzing the query operators and creating a . + + + + There are predefined implementations of that should only be left out when parsing an + tree when there are very good reasons to do so. + + + can be implemented to provide custom, complex transformations on an + tree. For performance reasons, avoid adding too many steps each of which visits the whole tree. For + simple transformations, consider using and - which can + batch several transformations into a single expression tree visiting run - rather than implementing a dedicated + . + + + + + + Implements the interface by doing nothing in the method. This is an + implementation of the Null Object Pattern. + + + + + Analyzes an tree for sub-trees that are evaluatable in-memory, and evaluates those sub-trees. + + + The uses the for partial evaluation. + It performs two visiting runs over the tree. + + + + + Applies a given set of transformations to an tree. The transformations are provided by an instance of + (eg., ). + + + The uses the to apply the transformations. + It performs a single visiting run over the tree. + + + + + Initializes a new instance of the class. + + A class providing the transformations to apply to the tree, eg., an instance of + . + + + + Provides a common interface for classes mapping a to the respective + type. Implementations are used by when a is encountered to + instantiate the right for the given method. + + + + + Determines whether a node type for the given can be returned by this + . + + + + + Gets the type of that matches the given , returning + if none can be found. + + + + + Represents a for the + and methods. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Acts as a base class for s standing for s that operate on the result of the query + rather than representing actual clauses, such as or . + + + + + Base class for implementations that represent instantiations of . + + + + + Interface for classes representing structural parts of an tree. + + + + + Resolves the specified by replacing any occurrence of + by the result of the projection of this . The result is an that goes all the + way to an . + + The parameter representing the input data streaming into an . This is replaced + by the projection data coming out of this . + The expression to be resolved. Any occurrence of in this expression + is replaced. + Context information used during the current parsing process. This structure maps + s to the clauses created from them. Implementers that also implement + (such as or ) must add + their clauses to the mapping in if they want to be able to implement correctly. + An equivalent of with each occurrence of replaced by + the projection data streaming out of this . + + This node does not support this operation because it does not stream any data to subsequent nodes. + + + + + Applies this to the specified query model. Nodes can add or replace clauses, add or replace expressions, + add or replace objects, or even create a completely new , depending on their semantics. + + The query model this node should be applied to. + Context information used during the current parsing process. This structure maps + s to the clauses created from them. Implementers that + also implement (such as + or ) must add their clauses to the mapping in + in order to be able to implement correctly. + The modified or a new that reflects the changes made by this node. + + For objects, which mark the end of an chain, this method must not be called. + Instead, use to generate a and instantiate a new + with that clause. + + + + + Gets the source that streams data into this node. + + The source , or if this node is the end of the chain. + + + + Gets the identifier associated with this . tries to find the identifier + that was originally associated with this node in the query written by the user by analyzing the parameter names of the next expression in the + method call chain. + + The associated identifier. + + + + Wraps the into a subquery after a node that indicates the end of the query ( + or ). Override this method + when implementing a that does not need a subquery to be created if it occurs after the query end. + + + + When an ordinary node follows a result operator or group node, it cannot simply append its clauses to the + because semantically, the result operator (or grouping) must be executed _before_ the clause. Therefore, in such scenarios, we wrap + the current query model into a that we put into the of a new + . + + + This method also changes the of this node because logically, all operations must be handled + by the new holding the . For example, consider the following call chain: + + MainSource (...) + .Select (x => x) + .Distinct () + .Select (x => x) + + + Naively, the last Select node would resolve (via Distinct and Select) to the created by the initial MainSource. + After this method is executed, however, that is part of the sub query, and a new + has been created to hold it. Therefore, we replace the chain as follows: + + MainSource (MainSource (...).Select (x => x).Distinct ()) + .Select (x => x) + + + Now, the last Select node resolves to the new . + + + + + + Sets the result type override of the given . + + The query model to set the of. + + By default, the result type override is set to in the method. This ensures that the query + model represents the type of the query correctly. Specific node parsers can override this method to set the + to another value, or to clear it (set it to ). Do not leave the + unchanged when overriding this method, as a source node might have set it to a value that doesn't + fit this node. + + + + + Represents a for the + , , + , and + methods. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for the + and + methods. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for the , + , + , and + methods. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for the different overloads of . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for + . + It is generated by when an tree is parsed. + + + + + Encapsulates contextual information used while generating clauses from instances. + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Acts as a base class for and , i.e., for node parsers for set operations + acting as an . + + + + + Interface for classes representing query source parts of an tree. + + + + + Represents a for and + . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for , + , + for the Count properties of , , , + and , and for the property of arrays. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for and + and + and + + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Thrown whan an parser cannot be instantiated for a query. Note that this is not serializable + and intended to be caught in the call-site where it will then replaced by a different (serializable) exception. + + + + + Resolves an expression using , removing transparent identifiers and detecting subqueries + in the process. This is used by methods such as , which are + used when a clause is created from an . + + + + + Represents a for , + , + or + . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for the different + overloads that do not take a result selector. The overloads with a result selector are represented by + . + It is generated by when an tree is parsed. + + + + + Represents a for the different + overloads that do take a result selector. The overloads without a result selector are represented by + . + It is generated by when an tree is parsed. + + + The GroupBy overloads with result selector are parsed as if they were a following a + : + + x.GroupBy (k => key, e => element, (k, g) => result) + + is therefore equivalent to: + + c.GroupBy (k => key, e => element).Select (grouping => resultSub) + + where resultSub is the same as result with k and g substituted with grouping.Key and grouping, respectively. + + + + + Represents a for + + or + It is generated by when an tree is parsed. + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for + + or . + It is generated by when an tree is parsed. + + + + + Represents a for , + , + or + . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for , + , + and for the property of arrays. + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents the first expression in a LINQ query, which acts as the main query source. + It is generated by when an tree is parsed. + This node usually marks the end (i.e. the first node) of an chain that represents a query. + + + + + Represents a for or . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Creates instances of classes implementing the interface via Reflection. + + + The classes implementing instantiated by this factory must implement a single constructor. The source and + constructor parameters handed to the method are passed on to the constructor; for each argument where no + parameter is passed, is passed to the constructor. + + + + + Creates an instace of type . + + + Thrown if the or the + do not match expected constructor parameters of the . + + + + + Contains metadata about a that is parsed into a . + + + + + Gets the associated identifier, i.e. the name the user gave the data streaming out of this expression. For example, the + corresponding to a from c in C clause should get the identifier "c". + If there is no user-defined identifier (or the identifier is impossible to infer from the expression tree), a generated identifier + is given instead. + + + + + Gets the source expression node, i.e. the node streaming data into the parsed node. + + The source. + + + + Gets the being parsed. + + + + + Represents a for or . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for + and . + It is generated by when an tree is parsed. + + + + + Represents a for + . + It is generated by when an tree is parsed. + + + + + Represents a for + . + It is generated by when an tree is parsed. + + + + + Provides common functionality used by implementors of . + + + + + Replaces the given parameter with a back-reference to the corresponding to . + + The referenced node. + The parameter to replace with a . + The expression in which to replace the parameter. + The clause generation context. + , with replaced with a + pointing to the clause corresponding to . + + + + Gets the corresponding to the given , throwing an + if no such clause has been registered in the given . + + The node for which the should be returned. + The clause generation context. + The corresponding to . + + + + Caches a resolved expression in the classes. + + + + + Represents a for . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for + . + It is generated by when an tree is parsed. + + + + + Represents a for + . + It is generated by when an tree is parsed. + This node represents an additional query source introduced to the query. + + + + + Represents a for , + , + or + . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for the different overloads of . + It is generated by when an tree is parsed. + When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query. + + + + + Represents a for . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it follows an , an , + a , or a . + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it follows an , an , + a , or a . + + + + + Represents a for + . + It is generated by when an tree is parsed. + When this node is used, it usually follows (or replaces) a of an chain that + represents a query. + + + + + Represents a for + . + It is generated by when an tree is parsed. + + + + + is implemented by classes taking an tree and parsing it into a . + + + The default implementation of this interface is . LINQ providers can, however, implement + themselves, eg. in order to decorate or replace the functionality of . + + + + + Gets the of the given . + + The expression tree to parse. + A that represents the query defined in . + + + + Parses a and creates an from it. This is used by + for parsing whole expression trees. + + + + + Implements by storing a list of inner instances. + The and methods delegate to these inner instances. This is an + implementation of the Composite Pattern. + + + + + Maps the objects used in objects to the respective + types. This is used by when a is encountered to instantiate the + right for the given method. + + + + + Creates a and registers all relevant implementations in the Remotion.Linq assembly. + + + A with all types in the Remotion.Linq assembly registered. + + + + + Gets the registerable method definition from a given . A registerable method is a object + that can be registered via a call to . When the given is passed to + and its corresponding registerable method was registered, the correct node type is returned. + + The method for which the registerable method should be retrieved. Must not be . + + to throw a if the method cannot be matched to a distinct generic method definition, + to return if an unambiguous match is not possible. + + + + itself, unless it is a closed generic method or declared in a closed generic type. In the latter cases, + the corresponding generic method definition respectively the method declared in a generic type definition is returned. + + If no generic method definition could be matched and was set to , + is returned. + + + + Thrown if is set to and no distinct generic method definition could be resolved. + + + + + Registers the specific with the given . The given methods must either be non-generic + or open generic method definitions. If a method has already been registered before, the later registration overwrites the earlier one. + + + + + Determines whether the specified method was registered with this . + + + + + Gets the type of registered with this instance that + matches the given , returning if none can be found. + + + + + Returns the count of the registered s. + + + + + Maps the objects used in objects to the respective + types based on the method names and a filter (as defined by ). + This is used by when a is encountered to instantiate the right + for the given method. + + + + + Creates a and registers all relevant implementations in the Remotion.Linq assembly. + + + A with all types in the Remotion.Linq assembly registered. + + + + + Registers the given for the query operator methods defined by the given + objects. + + A sequence of objects defining the methods to register the node type for. + The type of the to register. + + + + Determines whether the specified method was registered with this . + + + + + Gets the type of registered with this instance that + matches the given , returning if none can be found. + + + + + Returns the count of the registered method names. + + + + + Defines a name and a filter predicate used when determining the matching expression node type by . + + + + + Takes an tree and parses it into a by use of an . + It first transforms the tree into a chain of instances, and then calls + and in order to instantiate all the + s. With those, a is created and returned. + + + + + Initializes a new instance of the class, using default parameters for parsing. + The used has all relevant methods of the class + automatically registered, and the comprises partial evaluation, and default + expression transformations. See , + , and + for details. + + + + + Initializes a new instance of the class, using the given to + convert instances into s. Use this constructor if you wish to customize the + parser. To use a default parser (with the possibility to register custom node types), use the method. + + The expression tree parser. + + + + Gets the of the given . + + The expression tree to parse. + A that represents the query defined in . + + + + Applies all nodes to a , which is created by the trailing in the + chain. + + The entry point to the chain. + The clause generation context collecting context information during the parsing process. + A created by the training and transformed by each node in the + chain. + + + + Gets the used by to parse instances. + + The node type registry. + + + + Gets the used by to process the tree + before analyzing its structure. + + The processor. + + + + Implements an that throws an exception for every expression type that is not explicitly supported. + Inherit from this class to ensure that an exception is thrown when an expression is passed + + + + + Called when an unhandled item is visited. This method provides the item the visitor cannot handle (), + the that is not implemented in the visitor, and a delegate that can be used to invoke the + of the class. The default behavior of this method is to call the + method, but it can be overridden to do something else. + + The type of the item that could not be handled. Either an type, a + type, or . + The result type expected for the visited . + The unhandled item. + The visit method that is not implemented. + The behavior exposed by for this item type. + An object to replace in the expression tree. Alternatively, the method can throw any exception. + + + + can be used to build tuples incorporating a sequence of s. + For example, given three expressions, exp1, exp2, and exp3, it will build nested s that are equivalent to the + following: new KeyValuePair(exp1, new KeyValuePair(exp2, exp3)). + Given an whose type matches that of a tuple built by , the builder can also return + an enumeration of accessor expressions that can be used to access the tuple elements in the same order as they were put into the nested tuple + expression. In above example, this would yield tupleExpression.Key, tupleExpression.Value.Key, and tupleExpression.Value.Value. + This class can be handy whenever a set of needs to be put into a single + (eg., a select projection), especially if each sub-expression needs to be explicitly accessed at a later point of time (eg., to retrieve the + items from a statement surrounding a sub-statement yielding the tuple in its select projection). + + + + + Acts as a common base class for implementations based on re-linq. In a specific LINQ provider, a custom queryable + class should be derived from which supplies an implementation of that is used to + execute the query. This is then used as an entry point (the main data source) of a LINQ query. + + The type of the result items yielded by this query. + + + + Initializes a new instance of the class with a and the given + . This constructor should be used by subclasses to begin a new query. The generated by + this constructor is a pointing back to this . + + The used to parse queries. Specify an instance of + for default behavior. See also . + The used to execute the query represented by this . + + + + Initializes a new instance of the class with a specific . This constructor + should only be used to begin a query when does not fit the requirements. + + The provider used to execute the query represented by this and to construct + queries around this . + + + + Initializes a new instance of the class with a given and + . This is an infrastructure constructor that must be exposed on subclasses because it is used by + to construct queries around this when a query method (e.g. of the + class) is called. + + The provider used to execute the query represented by this and to construct + queries around this . + The expression representing the query. + + + + Executes the query via the and returns an enumerator that iterates through the items returned by the query. + + + A that can be used to iterate through the query result. + + + + + Gets the expression tree that is associated with the instance of . This expression describes the + query represented by this . + + + + The that is associated with this instance of . + + + + + Gets the query provider that is associated with this data source. The provider is used to execute the query. By default, a + is used that parses the query and passes it on to an implementation of . + + + + The that is associated with this data source. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of is executed. + + + + A that represents the type of the element(s) that are returned when the expression tree associated with this object is executed. + + + + + Provides an abstraction of an expression tree created for a LINQ query. instances are passed to LINQ providers based + on re-linq via , but you can also use to parse an expression tree by hand or construct + a manually via its constructor. + + + The different parts of the query are mapped to clauses, see , , and + . The simplest way to process all the clauses belonging to a is by implementing + (or deriving from ) and calling . + + + + + Initializes a new instance of + + The of the query. This is the starting point of the query, generating items + that are filtered and projected by the query. + The of the query. This is the end point of + the query, it defines what is actually returned for each of the items coming from the and passing the + . After it, only the modify the result of the query. + + + + Gets an object describing the data streaming out of this . If a query ends with + the , this corresponds to . If a query has + , the data is further modified by those operators. + + Gets a object describing the data streaming out of this . + + The data streamed from a is often of type instantiated + with a specific item type, unless the + query ends with a . For example, if the query ends with a , the + result type will be . + + + The is not compatible with the calculated calculated from the . + + + + + Gets the which is used by the . + + + + + + Accepts an implementation of or , as defined by the Visitor pattern. + + + + + Returns a representation of this . + + + + + Clones this , returning a new equivalent to this instance, but with its clauses being + clones of this instance's clauses. Any in the cloned clauses that points back to another clause + in this (including its subqueries) is adjusted to point to the respective clones in the cloned + . Any subquery nested in the is also cloned. + + + + + Clones this , returning a new equivalent to this instance, but with its clauses being + clones of this instance's clauses. Any in the cloned clauses that points back to another clause + in this (including its subqueries) is adjusted to point to the respective clones in the cloned + . Any subquery nested in the is also cloned. + + The defining how to adjust instances of + in the cloned . If there is a + that points out of the being cloned, specify its replacement via this parameter. At the end of the cloning process, + this object maps all the clauses in this original to the clones created in the process. + + + + + Transforms all the expressions in this 's clauses via the given delegate. + + The transformation object. This delegate is called for each within this + , and those expressions will be replaced with what the delegate returns. + + + + Returns a new name with the given prefix. The name is different from that of any added + in the . Note that clause names that are changed after the clause is added as well as names of other clauses + than from clauses are not considered when determining "unique" names. Use names only for readability and debugging, not + for uniquely identifying clauses. + + + + + Executes this via the given . By default, this indirectly calls + , but this can be modified by the . + + The to use for executing this query. + + + + Determines whether this represents an identity query. An identity query is a query without any body clauses + whose selects exactly the items produced by its . An identity query can have + . + + + if this represents an identity query; otherwise, . + + + An example for an identity query is the subquery in that is produced for the in the following + query: + + from order in ... + select order.OrderItems.Count() + + In this query, the will become a because + is treated as a query operator. The + in that has no and a trivial , + so its method returns . The outer , on the other hand, does not + have a trivial , so its method returns . + + + + + Creates a new that has this as a sub-query in its . + + The name of the new 's . + A new whose 's is a + that holds this instance. + + + + Gets or sets the query's . This is the starting point of the query, generating items that are processed by + the and projected or grouped by the . + + + + + Gets or sets the query's select clause. This is the end point of the query, it defines what is actually returned for each of the + items coming from the and passing the . After it, only the + modify the result of the query. + + + + + Gets a collection representing the query's body clauses. Body clauses take the items generated by the , + filtering (), ordering (), augmenting (), or otherwise + processing them before they are passed to the . + + + + + Gets the result operators attached to this . Result operators modify the query's result set, aggregating, + filtering, or otherwise processing the result before it is returned. + + + + + Collects clauses and creates a from them. This provides a simple way to first add all the clauses and then + create the rather than the two-step approach (first and , + then the s) required by 's constructor. + + + + + Provides a default implementation of which automatically visits child items. That is, the default + implementation of automatically calls Accept on all clauses in the + and the default implementation of automatically calls on the + instances in its collection, and so on. + + + This visitor is hardened against modifications performed on the visited while the model is currently being visited. + That is, if a the collection changes while a body clause (or a child item of a body clause) is currently + being processed, the visitor will handle that gracefully. The same applies to and + . + + + + + Takes a and transforms it by replacing its instances ( and + ) that contain subqueries with equivalent flattened clauses. Subqueries that contain a + (such as or ) cannot be + flattened. + + + As an example, take the following query: + + from c in Customers + from o in (from oi in OrderInfos where oi.Customer == c orderby oi.OrderDate select oi.Order) + orderby o.Product.Name + select new { c, o } + + This will be transformed into: + + from c in Customers + from oi in OrderInfos + where oi.Customer == c + orderby oi.OrderDate + orderby oi.Order.Product.Name + select new { c, oi.Order } + + As another example, take the following query: + + from c in (from o in Orders select o.Customer) + where c.Name.StartsWith ("Miller") + select c + + (This query is never produced by the , the only way to construct it is via manually building a + .) + This will be transforemd into: + + from o in Orders + where o.Customer.Name.StartsWith ("Miller") + select o + + + + + + Generates unique identifiers based on a set of known identifiers. + An identifier is generated by appending a number to a given prefix. The identifier is considered unique when no known identifier + exists which equals the prefix/number combination. + + + + + Adds the given to the set of known identifiers. + + The identifier to add. + + + + Gets a unique identifier starting with the given . The identifier is generating by appending a number to the + prefix so that the resulting string does not match a known identifier. + + The prefix to use for the identifier. + A unique identifier starting with . + + + + Provides extensions for working with trees. + + + + + Builds a string from the tree, including .NET 3.5. + + + + + Provider a utility API for dealing with the item type of generic collections. + + + + + Tries to extract the item type from the input . + + + The that might be an implementation of the interface. Must not be . + + An output parameter containing the extracted item or . + if an could be extracted, otherwise . + +
+
diff --git a/bin/Release/System.Collections.Immutable.dll b/bin/Release/System.Collections.Immutable.dll new file mode 100644 index 0000000..949bdd0 Binary files /dev/null and b/bin/Release/System.Collections.Immutable.dll differ diff --git a/bin/Release/System.Collections.Immutable.xml b/bin/Release/System.Collections.Immutable.xml new file mode 100644 index 0000000..ada7b54 --- /dev/null +++ b/bin/Release/System.Collections.Immutable.xml @@ -0,0 +1,12922 @@ + + + + System.Collections.Immutable + + + + + Defined on a generic collection that hashes its contents using an . + + The type of element hashed in the collection. + + + + Gets the comparer used to obtain hash codes for the keys and check equality. + + + + + Defined on a generic collection that sorts its contents using an . + + The type of element sorted in the collection. + + + + Gets the comparer used to sort keys. + + + + + An adapter that allows a single foreach loop in C# to avoid + boxing an enumerator when possible, but fall back to boxing when necessary. + + The type of value to be enumerated. + The type of the enumerator struct. + + + + The enumerator object to use if not null. + + + + + The enumerator struct to use if is null. + + + This field must NOT be readonly because the field's value is a struct and must be able to mutate + in-place. A readonly keyword would cause any mutation to take place in a copy rather than the field. + + + + + Initializes a new instance of the struct + for enumerating over a strongly typed struct enumerator. + + The initialized enumerator struct. + + + + Initializes a new instance of the struct + for enumerating over a (boxed) enumerator. + + The initialized enumerator object. + + + + Gets the current enumerated value. + + + + + Moves to the next value. + + + + + Disposes the underlying enumerator. + + + + + Returns a copy of this struct. + + + This member is here so that it can be used in C# foreach loops. + + + + + An interface for binary tree nodes that allow our common enumerator to walk the graph. + + + + + Gets the depth of the tree below this node. + + + + + Gets a value indicating whether this node is empty. + + + + + Gets the number of non-empty nodes at this node and below. + + Thrown if the implementation does not store this value at the node. + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + An interface for binary tree nodes that allow our common enumerator to walk the graph. + + The type of value for each node. + + + + Gets the value represented by the current node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + An internal non-generic interface implemented by + that allows for recognition of an instance and access + to its underlying array, without actually knowing the type of value + stored in it. + + + Casting to this interface requires a boxed instance of the struct, + and as such should be avoided. This interface is useful, however, where the value + is already boxed and we want to try to reuse immutable arrays instead of copying them. + ** This interface is INTENTIONALLY INTERNAL, as it gives access to the inner array. ** + + + + + Gets an untyped reference to the array. + + + + + An immutable key-value dictionary. + + The type of the key. + The type of the value. + + + + Gets an empty dictionary with equivalent ordering and key/value comparison rules. + + + + + Adds the specified key and value to the dictionary. + + The key of the entry to add. + The value of the entry to add. + The new dictionary containing the additional key-value pair. + Thrown when the given key already exists in the dictionary but has a different value. + + If the given key-value pair are already in the dictionary, the existing instance is returned. + + + + + Adds the specified key-value pairs to the dictionary. + + The pairs. + The new dictionary containing the additional key-value pairs. + Thrown when one of the given keys already exists in the dictionary but has a different value. + + + + Sets the specified key and value to the dictionary, possibly overwriting an existing value for the given key. + + The key of the entry to add. + The value of the entry to add. + The new dictionary containing the additional key-value pair. + + If the given key-value pair are already in the dictionary, the existing instance is returned. + If the key already exists but with a different value, a new instance with the overwritten value will be returned. + + + + + Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + + The key=value pairs to set on the dictionary. Any keys that conflict with existing keys will overwrite the previous values. + An immutable dictionary. + + + + Removes the specified keys from the dictionary with their associated values. + + The keys to remove. + A new dictionary with those keys removed; or this instance if those keys are not in the dictionary. + + + + Removes the specified key from the dictionary with its associated value. + + The key to remove. + A new dictionary with the matching entry removed; or this instance if the key is not in the dictionary. + + + + Determines whether this dictionary contains the specified key-value pair. + + The key value pair. + + true if this dictionary contains the key-value pair; otherwise, false. + + + + + Searches the dictionary for a given key and returns the equal key it finds, if any. + + The key to search for. + The key from the dictionary that the search found, or if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + the canonical value, or a value that has more complete data than the value you currently have, + although their comparer functions indicate they are equal. + + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + + true if the contains + an element with the specified value; otherwise, false. + + + + + A list of elements that can only be modified by creating a new instance of the list. + + The type of element stored in the list. + + Mutations on this list generate new lists. Incremental changes to a list share as much memory as possible with the prior versions of a list, + while allowing garbage collection to clean up any unique list data that is no longer being referenced. + + + + + Gets an empty list that retains the same sort semantics that this instance has. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The equality comparer to use in the search. + If null, is used. + + + The zero-based index of the first occurrence of item within the range of + elements in the that starts at index and + contains count number of elements, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the . The value + can be null for reference types. + + The starting position of the search. The search proceeds from toward the beginning of this instance. + The number of elements in the section to search. + + The equality comparer to use in the search. + If null, is used. + + + The zero-based index of the last occurrence of within the range of elements + in the that contains number of elements + and ends at , if found; otherwise, -1. + + + + + Adds the specified value to this list. + + The value to add. + A new list with the element added. + + + + Adds the specified values to this list. + + The values to add. + A new list with the elements added. + + + + Inserts the specified value at the specified index. + + The index at which to insert the value. + The element to insert. + The new immutable list. + + + + Inserts the specified values at the specified index. + + The index at which to insert the value. + The elements to insert. + The new immutable list. + + + + Removes the specified value from this list. + + The value to remove. + + The equality comparer to use in the search. + If null, is used. + + A new list with the element removed, or this list if the element is not in this list. + + + + Removes all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to remove. + + + The new list. + + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + The equality comparer to use in the search. + If null, is used. + + + A new list with the elements removed. + + + + + Removes the specified values from this list. + + The starting index to begin removal. + The number of elements to remove. + + A new list with the elements removed. + + + + + Removes the element at the specified index. + + The index. + A new list with the elements removed. + + + + Replaces an element in the list at a given position with the specified element. + + The position in the list of the element to replace. + The element to replace the old element with. + The new list -- even if the value being replaced is equal to the new value for that position. + + + + Replaces the first equal element in the list with the specified element. + + The element to replace. + The element to replace the old element with. + + The equality comparer to use in the search. + If null, is used. + + The new list -- even if the value being replaced is equal to the new value for that position. + Thrown when the old value does not exist in the list. + + + + An interface that describes the methods that the and types have in common. + + The type of element in the collection. + + + + Converts the elements in the current to + another type, and returns a list containing the converted elements. + + + A delegate that converts each element from + one type to another type. + + + The type of the elements of the target array. + + + A of the target type containing the converted + elements from the current . + + + + + Performs the specified action on each element of the list. + + The delegate to perform on each element of the list. + + + + Creates a shallow copy of a range of elements in the source . + + + The zero-based index at which the range + starts. + + + The number of elements in the range. + + + A shallow copy of a range of elements in the source . + + + + + Copies the entire to a compatible one-dimensional + array, starting at the beginning of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + + + Copies the entire to a compatible one-dimensional + array, starting at the specified index of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + The zero-based index in at which copying begins. + + + + + Copies a range of elements from the to + a compatible one-dimensional array, starting at the specified index of the + target array. + + + The zero-based index in the source at + which copying begins. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + The zero-based index in at which copying begins. + The number of elements to copy. + + + + Determines whether the contains elements + that match the conditions defined by the specified predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + true if the contains one or more elements + that match the conditions defined by the specified predicate; otherwise, + false. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the first occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The first element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Retrieves all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + A containing all the elements that match + the conditions defined by the specified predicate, if found; otherwise, an + empty . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that extends + from the specified index to the last element. + + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that starts + at the specified index and contains the specified number of elements. + + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the last occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The last element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that extends + from the first element to the specified index. + + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element + to search for. + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that contains + the specified number of elements and ends at the specified index. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Determines whether every element in the + matches the conditions defined by the specified predicate. + + + The delegate that defines the conditions to check against + the elements. + + + true if every element in the matches the + conditions defined by the specified predicate; otherwise, false. If the list + has no elements, the return value is true. + + + + + Searches the entire sorted for an element + using the default comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + The default comparer cannot + find an implementation of the generic interface or + the interface for type . + + + + + Searches the entire sorted for an element + using the specified comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The implementation to use when comparing + elements.-or-null to use the default comparer . + + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is null, and the default comparer + cannot find an implementation of the generic interface + or the interface for type . + + + + + Searches a range of elements in the sorted + for an element using the specified comparer and returns the zero-based index + of the element. + + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + + The implementation to use when comparing + elements, or null to use the default comparer . + + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is less than 0.-or- is less than 0. + + + and do not denote a valid range in the . + + + is null, and the default comparer + cannot find an implementation of the generic interface + or the interface for type . + + + + + An immutable queue. + + The type of elements in the queue. + + + + Gets a value indicating whether this is the empty queue. + + + true if this queue is empty; otherwise, false. + + + + + Gets an empty queue. + + + + + Gets the element at the front of the queue. + + + The element at the front of the queue. + + Thrown when the queue is empty. + + + + Adds an element to the back of the queue. + + The value. + + The new queue. + + + + + Returns a queue that is missing the front element. + + A queue; never null. + Thrown when the queue is empty. + + + + A set of elements that can only be modified by creating a new instance of the set. + + The type of element stored in the set. + + Mutations on this set generate new sets. Incremental changes to a set share as much memory as possible with the prior versions of a set, + while allowing garbage collection to clean up any unique set data that is no longer being referenced. + + + + + Gets an empty set that retains the same sort or unordered semantics that this instance has. + + + + + Determines whether this set contains the specified value. + + The value. + + true if the set contains the specified value; otherwise, false. + + + + + Adds the specified value to this set. + + The value to add. + A new set with the element added, or this set if the element is already in this set. + + + + Removes the specified value from this set. + + The value to remove. + A new set with the element removed, or this set if the element is not in this set. + + + + Searches the set for a given value and returns the equal value it finds, if any. + + The value to search for. + The value from the set that the search found, or if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + a value that has more complete data than the value you currently have, although their + comparer functions indicate they are equal. + + + + + Produces a set that contains elements that exist in both this set and the specified set. + + The set to intersect with this one. + A new set that contains any elements that exist in both sets. + + + + Removes a given set of items from this set. + + The items to remove from this set. + The new set with the items removed; or the original set if none of the items were in the set. + + + + Produces a set that contains elements either in this set or a given sequence, but not both. + + The other sequence of items. + The new set. + + + + Adds a given set of items to this set. + + The items to add. + The new set with the items added; or the original set if all the items were already in the set. + + + + Checks whether a given sequence of items entirely describe the contents of this set. + + The sequence of items to check against this set. + A value indicating whether the sets are equal. + + + + Determines whether the current set is a proper (strict) subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct subset of other; otherwise, false. + + + + Determines whether the current set is a proper superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct superset of other; otherwise, false. + + + + Determines whether a set is a subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a subset of other; otherwise, false. + + + + Determines whether the current set is a superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set overlaps with the specified collection. + + The collection to compare to the current set. + true if the current set and other share at least one common element; otherwise, false. + + + + An immutable stack. + + The type of elements stored in the stack. + + + + Gets a value indicating whether this is the empty stack. + + + true if this stack is empty; otherwise, false. + + + + + Gets an empty stack. + + + + + Pushes an element onto a stack and returns the new stack. + + The element to push onto the stack. + The new stack. + + + + Pops the top element off the stack. + + The new stack; never null + Thrown when the stack is empty. + + + + Gets the element on the top of the stack. + + Thrown when the stack is empty. + + + + An interface that must be implemented by collections that want to avoid + boxing their own enumerators when using the + + method. + + The type of value to be enumerated. + The type of the enumerator struct. + + + + Gets the strongly-typed enumerator. + + + + + + An -like interface that does not derive from . + + The type of value to be enumerated. + + This interface is useful because some enumerator struct types do not want to implement + since it increases the size of the generated code in foreach. + + + + + Returns the current element. + + + + + Advances to the next element. + + + + + A node in the AVL tree storing key/value pairs with Int32 keys. + + + This is a trimmed down version of + with TKey fixed to be . This avoids multiple interface-based dispatches while examining + each node in the tree during a lookup: an interface call to the comparer's method, + and then an interface call to 's method as part of + the 's implementation. + + + + + The default empty node. + + + + + The Int32 key associated with this node. + + + + + The value associated with this node. + + + Sadly, this field could be readonly but doing so breaks serialization due to bug: + http://connect.microsoft.com/VisualStudio/feedback/details/312970/weird-argumentexception-when-deserializing-field-in-typedreferences-cannot-be-static-or-init-only + + + + + A value indicating whether this node has been frozen (made immutable). + + + Nodes must be frozen before ever being observed by a wrapping collection type + to protect collections from further mutations. + + + + + The depth of the tree beneath this node. + + + + + The left tree. + + + + + The right tree. + + + + + Initializes a new instance of the class that is pre-frozen. + + + + + Initializes a new instance of the class that is not yet frozen. + + The key. + The value. + The left. + The right. + Whether this node is prefrozen. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the height of the tree beneath this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the number of elements contained by this node and below. + + + + + Gets the value represented by the current node. + + + + + Gets the values. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds the specified key. + + The key. + The value. + The value comparer. + Receives a value indicating whether an existing value was replaced. + Receives a value indicating whether this node tree has mutated because of this operation. + + + + Removes the specified key. + + The key. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Gets the value or default. + + The key. + The value. + + + + Tries to get the value. + + The key. + The value. + True if the key was found. + + + + Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes. + + + + + AVL rotate left operation. + + The tree. + The rotated tree. + + + + AVL rotate right operation. + + The tree. + The rotated tree. + + + + AVL rotate double-left operation. + + The tree. + The rotated tree. + + + + AVL rotate double-right operation. + + The tree. + The rotated tree. + + + + Returns a value indicating whether the tree is in balance. + + The tree. + 0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy. + + + + Determines whether the specified tree is right heavy. + + The tree. + + true if [is right heavy] [the specified tree]; otherwise, false. + + + + + Determines whether the specified tree is left heavy. + + + + + Balances the specified tree. + + The tree. + A balanced tree. + + + + Adds the specified key. Callers are expected to have validated arguments. + + The key. + The value. + The value comparer. + if true, an existing key=value pair will be overwritten with the new one. + Receives a value indicating whether an existing value was replaced. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Removes the specified key. Callers are expected to validate arguments. + + The key. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node + with the described changes. + + The left branch of the mutated node. + The right branch of the mutated node. + The mutated (or created) node. + + + + Searches the specified key. Callers are expected to validate arguments. + + The key. + + + + Enumerates the contents of a binary tree. + + + This struct can and should be kept in exact sync with the other binary tree enumerators: + , , and . + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + The resource pool of reusable mutable stacks for purposes of enumeration. + + + We utilize this resource pool to make "allocation free" enumeration achievable. + + + + + A unique ID for this instance of this enumerator. + Used to protect pooled objects from use after they are recycled. + + + + + The set being enumerated. + + + + + The stack to use for enumerating the binary tree. + + + + + The node currently selected. + + + + + Initializes an structure. + + The root of the set to be enumerated. + + + + The current element. + + + + + + + + The current element. + + + + + Disposes of this enumerator and returns the stack reference to the resource pool. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + Restarts enumeration. + + + + + Throws an if this enumerator has been disposed. + + + + + Pushes this node and all its Left descendants onto the stack. + + The starting node to push onto the stack. + + + + Describes an ordered collection of elements. + + The type of element in the collection. + + + + Gets the number of elements in the collection. + + + + + Gets the element in the collection at a given index. + + + + + A set of initialization methods for instances of . + + + + + A two element array useful for throwing exceptions the way LINQ does. + + + + + Creates an empty . + + The type of element stored in the array. + An empty array. + + + + Creates an with the specified element as its only member. + + The type of element stored in the array. + The element to store in the array. + A 1-element array. + + + + Creates an with the specified elements. + + The type of element stored in the array. + The first element to store in the array. + The second element to store in the array. + A 2-element array. + + + + Creates an with the specified elements. + + The type of element stored in the array. + The first element to store in the array. + The second element to store in the array. + The third element to store in the array. + A 3-element array. + + + + Creates an with the specified elements. + + The type of element stored in the array. + The first element to store in the array. + The second element to store in the array. + The third element to store in the array. + The fourth element to store in the array. + A 4-element array. + + + + Creates an populated with the contents of the specified sequence. + + The type of element stored in the array. + The elements to store in the array. + An immutable array. + + + + Creates an empty . + + The type of element stored in the array. + The elements to store in the array. + An immutable array. + + + + Initializes a new instance of the struct. + + The array to initialize the array with. A defensive copy is made. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + + This overload allows helper methods or custom builder classes to efficiently avoid paying a redundant + tax for copying an array when the new array is a segment of an existing array. + + + + + Initializes a new instance of the struct. + + The array to initialize the array with. + The selected array segment may be copied into a new array. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + + This overload allows helper methods or custom builder classes to efficiently avoid paying a redundant + tax for copying an array when the new array is a segment of an existing array. + + + + + Initializes a new instance of the struct. + + The source array to initialize the resulting array with. + The function to apply to each element from the source array. + + This overload allows efficient creation of an based on an existing + , where a mapping function needs to be applied to each element from + the source array. + + + + + Initializes a new instance of the struct. + + The source array to initialize the resulting array with. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + The function to apply to each element from the source array included in the resulting array. + + This overload allows efficient creation of an based on a slice of an existing + , where a mapping function needs to be applied to each element from the source array + included in the resulting array. + + + + + Initializes a new instance of the struct. + + The source array to initialize the resulting array with. + The function to apply to each element from the source array. + An argument to be passed to the selector mapping function. + + This overload allows efficient creation of an based on an existing + , where a mapping function needs to be applied to each element from + the source array. + + + + + Initializes a new instance of the struct. + + The source array to initialize the resulting array with. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + The function to apply to each element from the source array included in the resulting array. + An argument to be passed to the selector mapping function. + + This overload allows efficient creation of an based on a slice of an existing + , where a mapping function needs to be applied to each element from the source array + included in the resulting array. + + + + + Initializes a new instance of the class. + + The type of elements stored in the array. + A new builder. + + + + Initializes a new instance of the class. + + The type of elements stored in the array. + The size of the initial array backing the builder. + A new builder. + + + + Enumerates a sequence exactly once and produces an immutable array of its contents. + + The type of element in the sequence. + The sequence to enumerate. + An immutable array. + + + + Searches an entire one-dimensional sorted for a specific element, + using the generic interface implemented by each element + of the and by the specified object. + + The type of element stored in the array. + The sorted, one-dimensional array to search. + The object to search for. + + The index of the specified in the specified array, if is found. + If is not found and is less than one or more elements in array, + a negative number which is the bitwise complement of the index of the first + element that is larger than . If is not found and is greater + than any of the elements in array, a negative number which is the bitwise + complement of (the index of the last element plus 1). + + + does not implement the generic interface, and + the search encounters an element that does not implement the + generic interface. + + + + + Searches an entire one-dimensional sorted for a value using + the specified generic interface. + + The type of element stored in the array. + The sorted, one-dimensional array to search. + The object to search for. + + The implementation to use when comparing + elements; or null to use the implementation of each + element. + + + The index of the specified in the specified array, if is found. + If is not found and is less than one or more elements in array, + a negative number which is the bitwise complement of the index of the first + element that is larger than . If is not found and is greater + than any of the elements in array, a negative number which is the bitwise + complement of (the index of the last element plus 1). + + + is null, does not implement the generic interface, and + the search encounters an element that does not implement the + generic interface. + + + + + Searches a range of elements in a one-dimensional sorted for + a value, using the generic interface implemented by + each element of the and by the specified value. + + The type of element stored in the array. + The sorted, one-dimensional array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + + The index of the specified in the specified , if is found. + If is not found and is less than one or more elements in , + a negative number which is the bitwise complement of the index of the first + element that is larger than . If is not found and is greater + than any of the elements in , a negative number which is the bitwise + complement of (the index of the last element plus 1). + + + does not implement the generic interface, and + the search encounters an element that does not implement the + generic interface. + + + and do not specify a valid range in . + + + is less than the lower bound of . -or- is less than zero. + + + + + Searches a range of elements in a one-dimensional sorted for + a value, using the specified generic + interface. + + The type of element stored in the array. + The sorted, one-dimensional array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + + The implementation to use when comparing + elements; or null to use the implementation of each + element. + + + The index of the specified in the specified , if is found. + If is not found and is less than one or more elements in , + a negative number which is the bitwise complement of the index of the first + element that is larger than . If is not found and is greater + than any of the elements in , a negative number which is the bitwise + complement of (the index of the last element plus 1). + + + is null, does not implement the generic + interface, and the search encounters an element that does not implement the + generic interface. + + + and do not specify a valid range in .-or- is null, + and is of a type that is not compatible with the elements of . + + + is less than the lower bound of . -or- is less than zero. + + + + + Initializes a new instance of the struct. + + The array from which to copy. + + + + A readonly array with O(1) indexable lookup time. + + The type of element stored by the array. + + This type has a documented contract of being exactly one reference-type field in size. + Our own class depends on it, as well as others externally. + IMPORTANT NOTICE FOR MAINTAINERS AND REVIEWERS: + This type should be thread-safe. As a struct, it cannot protect its own fields + from being changed from one thread while its members are executing on other threads + because structs can change *in place* simply by reassigning the field containing + this struct. Therefore it is extremely important that + ** Every member should only dereference this ONCE. ** + If a member needs to reference the array field, that counts as a dereference of this. + Calling other instance members (properties or methods) also counts as dereferencing this. + Any member that needs to use this more than once must instead + assign this to a local variable and use that for the rest of the code instead. + This effectively copies the one field in the struct to a local variable so that + it is insulated from other threads. + + + + + A writable array accessor that can be converted into an + instance without allocating memory. + + + + + The backing array for the builder. + + + + + The number of initialized elements in the array. + + + + + Initializes a new instance of the class. + + The initial capacity of the internal array. + + + + Initializes a new instance of the class. + + + + + Get and sets the length of the internal array. When set the internal array is + reallocated to the given capacity if it is not already the specified length. + + + + + Gets or sets the length of the builder. + + + If the value is decreased, the array contents are truncated. + If the value is increased, the added elements are initialized to the default value of type . + + + + + Gets or sets the element at the specified index. + + The index. + + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Returns an immutable copy of the current contents of this collection. + + An immutable array. + + + + Extracts the internal array as an and replaces it + with a zero length array. + + When doesn't + equal . + + + + Removes all items from the . + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + + + Adds an item to the . + + The object to add to the . + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + The number of elements from the source array to add. + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + The number of elements from the source array to add. + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + + + + Adds the specified items to the end of the array. + + The items. + + + + Removes the specified element. + + The element. + A value indicating whether the specified element was found and removed from the collection. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Creates a new array with the current contents of this Builder. + + + + + Copies the current contents to the specified array. + + The array to copy to. + The starting index of the target array. + + + + Resizes the array to accommodate the specified capacity requirement. + + The required capacity. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + + The equality comparer to use in the search. + If null, is used. + + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The equality comparer to use in the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Reverses the order of elements in the collection. + + + + + Sorts the array. + + + + + Sorts the elements in the entire array using + the specified . + + + The to use when comparing elements. + + is null. + + + + Sorts the array. + + The comparer to use in sorting. If null, the default comparer is used. + + + + Sorts the array. + + The index of the first element to consider in the sort. + The number of elements to include in the sort. + The comparer to use in sorting. If null, the default comparer is used. + + + + Returns an enumerator for the contents of the array. + + An enumerator. + + + + Returns an enumerator for the contents of the array. + + An enumerator. + + + + Returns an enumerator for the contents of the array. + + An enumerator. + + + + Adds items to this collection. + + The type of source elements. + The source array. + The number of elements to add to this array. + + + + An array enumerator. + + + It is important that this enumerator does NOT implement . + We want the iterator to inline when we do foreach and to not result in + a try/finally frame in the client. + + + + + The array being enumerated. + + + + + The currently enumerated position. + + + -1 before the first call to . + >= this.array.Length after returns false. + + + + + Initializes a new instance of the struct. + + The array to enumerate. + + + + Gets the currently enumerated value. + + + + + Advances to the next value to be enumerated. + + true if another item exists in the array; false otherwise. + + + + An array enumerator that implements pattern (including ). + + + + + A shareable singleton for enumerating empty arrays. + + + + + The array being enumerated. + + + + + The currently enumerated position. + + + -1 before the first call to . + this.array.Length - 1 after MoveNext returns false. + + + + + Initializes a new instance of the class. + + + + + Gets the currently enumerated value. + + + + + Gets the currently enumerated value. + + + + + If another item exists in the array, advances to the next value to be enumerated. + + true if another item exists in the array; false otherwise. + + + + Resets enumeration to the start of the array. + + + + + Disposes this enumerator. + + + Currently has no action. + + + + + Creates an enumerator for the specified array. + + + + + An empty (initialized) instance of . + + + + + The backing field for this instance. References to this value should never be shared with outside code. + + + This would be private, but we make it internal so that our own extension methods can access it. + + + + + Initializes a new instance of the struct + *without making a defensive copy*. + + The array to use. May be null for "default" arrays. + + + + Checks equality between two instances. + + The instance to the left of the operator. + The instance to the right of the operator. + true if the values' underlying arrays are reference equal; false otherwise. + + + + Checks inequality between two instances. + + The instance to the left of the operator. + The instance to the right of the operator. + true if the values' underlying arrays are reference not equal; false otherwise. + + + + Checks equality between two instances. + + The instance to the left of the operator. + The instance to the right of the operator. + true if the values' underlying arrays are reference equal; false otherwise. + + + + Checks inequality between two instances. + + The instance to the left of the operator. + The instance to the right of the operator. + true if the values' underlying arrays are reference not equal; false otherwise. + + + + Gets the element at the specified index in the read-only list. + + The zero-based index of the element to get. + The element at the specified index in the read-only list. + + + + Gets or sets the element at the specified index in the read-only list. + + The zero-based index of the element to get. + The element at the specified index in the read-only list. + Always thrown from the setter. + Thrown if the property returns true. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets a value indicating whether this collection is empty. + + + + + Gets the number of array in the collection. + + + + + Gets the number of array in the collection. + + Thrown if the property returns true. + + + + Gets the number of array in the collection. + + Thrown if the property returns true. + + + + Gets the element at the specified index. + + The index. + + The element. + + Thrown if the property returns true. + + + + Gets a value indicating whether this struct was initialized without an actual array instance. + + + + + Gets a value indicating whether this struct is empty or uninitialized. + + + + + Gets an untyped reference to the array. + + + + + Gets the string to display in the debugger watches window for this instance. + + + + + Searches the array for the specified item. + + The item to search for. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The equality comparer to use in the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + + The equality comparer to use in the search. + If null, is used. + + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Searches the array for the specified item in reverse. + + The item to search for. + The index at which to begin the search. + The number of elements to search. + The equality comparer to use in the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + + Determines whether the specified item exists in the array. + + The item to search for. + true if an equal value was found in the array; false otherwise. + + + + Copies the contents of this array to the specified array. + + The array to copy to. + + + + Copies the contents of this array to the specified array. + + The array to copy to. + The index into the destination array to which the first copied element is written. + + + + Copies the contents of this array to the specified array. + + The index into this collection of the first element to copy. + The array to copy to. + The index into the destination array to which the first copied element is written. + The number of elements to copy. + + + + Returns a new array with the specified value inserted at the specified position. + + The 0-based index into the array at which the new item should be added. + The item to insert at the start of the array. + A new array. + + + + Inserts the specified values at the specified index. + + The index at which to insert the value. + The elements to insert. + The new immutable collection. + + + + Inserts the specified values at the specified index. + + The index at which to insert the value. + The elements to insert. + The new immutable collection. + + + + Returns a new array with the specified value inserted at the end. + + The item to insert at the end of the array. + A new array. + + + + Adds the specified values to this list. + + The values to add. + A new list with the elements added. + + + + Adds the specified values to this list. + + The values to add. + A new list with the elements added. + + + + Returns an array with the item at the specified position replaced. + + The index of the item to replace. + The new item. + The new array. + + + + Replaces the first equal element in the list with the specified element. + + The element to replace. + The element to replace the old element with. + The new list -- even if the value being replaced is equal to the new value for that position. + Thrown when the old value does not exist in the list. + + + + Replaces the first equal element in the list with the specified element. + + The element to replace. + The element to replace the old element with. + + The equality comparer to use in the search. + If null, is used. + + The new list -- even if the value being replaced is equal to the new value for that position. + Thrown when the old value does not exist in the list. + + + + Returns an array with the first occurrence of the specified element removed from the array. + If no match is found, the current array is returned. + + The item to remove. + The new array. + + + + Returns an array with the first occurrence of the specified element removed from the array. + If no match is found, the current array is returned. + + The item to remove. + + The equality comparer to use in the search. + If null, is used. + + The new array. + + + + Returns an array with the element at the specified position removed. + + The 0-based index into the array for the element to omit from the returned array. + The new array. + + + + Returns an array with the elements at the specified position removed. + + The 0-based index into the array for the element to omit from the returned array. + The number of elements to remove. + The new array. + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + A new list with the elements removed. + + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + The equality comparer to use in the search. + If null, is used. + + + A new list with the elements removed. + + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + A new list with the elements removed. + + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + The equality comparer to use in the search. + + + A new list with the elements removed. + + + + + Removes all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to remove. + + + The new list. + + + + + Returns an empty array. + + + + + Returns a sorted instance of this array. + + + + + Sorts the elements in the entire using + the specified . + + + The to use when comparing elements. + + The sorted list. + is null. + + + + Returns a sorted instance of this array. + + The comparer to use in sorting. If null, the default comparer is used. + + + + Returns a sorted instance of this array. + + The index of the first element to consider in the sort. + The number of elements to include in the sort. + The comparer to use in sorting. If null, the default comparer is used. + + + + Returns a builder that is populated with the same contents as this array. + + The new builder. + + + + Returns an enumerator for the contents of the array. + + An enumerator. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Initializes a new instance of the struct based on the contents + of an existing instance, allowing a covariant static cast to efficiently reuse the existing array. + + The array to initialize the array with. No copy is made. + + Covariant upcasts from this method may be reversed by calling the + or method. + + + + + Initializes a new instance of the struct by casting the underlying + array to an array of type . + + Thrown if the cast is illegal. + + + + Creates an immutable array for this array, cast to a different element type. + + The type of array element to return. + + A struct typed for the base element type. If the cast fails, an instance + is returned whose property returns true. + + + Arrays of derived elements types can be cast to arrays of base element types + without reallocating the array. + These upcasts can be reversed via this same method, casting an array of base + element types to their derived types. However, downcasting is only successful + when it reverses a prior upcasting operation. + + + + + Filters the elements of this array to those assignable to the specified type. + + The type to filter the elements of the sequence on. + + An that contains elements from + the input sequence of type . + + + + + Returns an enumerator for the contents of the array. + + An enumerator. + Thrown if the property returns true. + + + + Returns an enumerator for the contents of the array. + + An enumerator. + Thrown if the property returns true. + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + Adds an item to the . + + The object to add to the . + + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, + + + + + + Removes all items from the . + + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if the is found in the ; otherwise, false. + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + + + + Gets a value indicating whether this instance is fixed size. + + + true if this instance is fixed size; otherwise, false. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets the size of the array. + + Thrown if the property returns true. + + + + See the interface. + + + + + Gets the sync root. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + + + + Gets or sets the at the specified index. + + + The . + + The index. + + Always thrown from the setter. + Thrown if the property returns true. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Determines whether an object is structurally equal to the current instance. + + The object to compare with the current instance. + An object that determines whether the current instance and other are equal. + true if the two objects are equal; otherwise, false. + + + + Returns a hash code for the current instance. + + An object that computes the hash code of the current object. + The hash code for the current instance. + + + + Determines whether the current collection object precedes, occurs in the + same position as, or follows another object in the sort order. + + The object to compare with the current instance. + + An object that compares members of the current collection object with the + corresponding members of other. + + + An integer that indicates the relationship of the current collection object + to other. + + + + + Throws a null reference exception if the array field is null. + + + + + Throws an if the field is null, i.e. the + property returns true. The + message specifies that the operation cannot be performed + on a default instance of . + + This is intended for explicitly implemented interface method and property implementations. + + + + + Returns an array with items at the specified indexes removed. + + A **sorted set** of indexes to elements that should be omitted from the returned array. + The new array. + + + + Throws a if the specified array is uninitialized. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection. + + + + Returns an empty collection with the specified key comparer. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + + The immutable collection. + + + + + Returns an empty collection with the specified comparers. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + + The immutable collection. + + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The new builder. + + + + Creates a new immutable dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The new builder. + + + + Creates a new immutable dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + The new builder. + + + + Constructs an immutable dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The key comparer to use for the map. + The value comparer to use for the map. + The immutable map. + + + + Constructs an immutable dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The key comparer to use for the map. + The immutable map. + + + + Constructs an immutable dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The immutable map. + + + + Constructs an immutable dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The key comparer to use for the map. + The immutable map. + + + + Constructs an immutable dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The immutable map. + + + + Creates an immutable dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + The key comparer to use when building the immutable map. + The value comparer to use for the immutable map. + An immutable map. + + + + Creates an immutable dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + The key comparer to use when building the immutable map. + An immutable map. + + + + Creates an immutable dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + An immutable map. + + + + Determines whether this map contains the specified key-value pair. + + The type of key in the map. + The type of value in the map. + The map to search. + The key to check for. + The value to check for on a matching key, if found. + + true if this map contains the key-value pair; otherwise, false. + + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The dictionary to retrieve the value from. + The key to search for. + The value for the key, or the default value of type if no matching key was found. + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The type of the key. + The type of the value. + The dictionary to retrieve the value from. + The key to search for. + The default value to return if no matching key is found in the dictionary. + + The value for the key, or if no matching key was found. + + + + + Contains the inner class. + + + Contains the inner class. + + + Contains the inner struct. + + + Contains the inner struct. + + + Contains the inner class. + + + Contains the inner class. + + + An immutable unordered dictionary implementation. + + The type of the key. + The type of the value. + + + + A dictionary that mutates with little or no memory allocations, + can produce and/or build on immutable dictionary instances very efficiently. + + + + While + and other bulk change methods already provide fast bulk change operations on the collection, this class allows + multiple combinations of changes to be made to a set with equal efficiency. + + + Instance members of this class are not thread-safe. + + + + + + The root of the binary tree that stores the collection. Contents are typically not entirely frozen. + + + + + The comparers. + + + + + The number of elements in this collection. + + + + + Caches an immutable instance that represents the current state of the collection. + + Null if no immutable view has been created for the current version. + + + + A number that increments every time the builder changes its contents. + + + + + The object callers may use to synchronize access to this collection. + + + + + Initializes a new instance of the class. + + The map that serves as the basis for this Builder. + + + + Gets or sets the key comparer. + + + The key comparer. + + + + + Gets or sets the value comparer. + + + The value comparer. + + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + See + + + + + Gets an containing the keys of the . + + An containing the keys of the object that implements . + + + + See + + + + + Gets an containing the values in the . + + An containing the values in the object that implements . + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Gets an containing the keys of the . + + + An containing the keys of the object that implements . + + + + + Gets an containing the values in the . + + + An containing the values in the object that implements . + + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Gets or sets the element with the specified key. + + The key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets the current version of the contents of this builder. + + + + + Gets the initial data to pass to a query or mutation method. + + + + + Gets or sets the root of this data structure. + + + + + Gets or sets the element with the specified key. + + The element with the specified key. + is null. + The property is retrieved and is not found. + The property is set and the is read-only. + + + + Adds a sequence of values to this collection. + + The items. + + + + Removes any entries from the dictionaries with keys that match those found in the specified sequence. + + The keys for entries to remove from the dictionary. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The key to search for. + The value for the key, or the default value of type if no matching key was found. + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The key to search for. + The default value to return if no matching key is found in the dictionary. + + The value for the key, or if no matching key was found. + + + + + Creates an immutable dictionary based on the contents of this instance. + + An immutable map. + + This method is an O(n) operation, and approaches O(1) time as the number of + actual mutations to the set since the last call to this method approaches 0. + + + + + Adds an element with the provided key and value to the . + + The object to use as the key of the element to add. + The object to use as the value of the element to add. + is null. + An element with the same key already exists in the . + The is read-only. + + + + Determines whether the contains an element with the specified key. + + The key to locate in the . + + true if the contains an element with the key; otherwise, false. + + is null. + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + + true if the contains + an element with the specified value; otherwise, false. + + + + + Removes the element with the specified key from the . + + The key of the element to remove. + + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original . + + is null. + + The is read-only. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value of the type . This parameter is passed uninitialized. + + true if the object that implements contains an element with the specified key; otherwise, false. + + is null. + + + + See the interface. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + See the interface. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Applies the result of some mutation operation to this instance. + + The result. + + + + A shareable container for the comparers used by an immutable dictionary. + + + To reduce allocations, we directly implement the and Key-Only comparers, + but we try to keep this an implementation detail by exposing properties that return + references for these particular facilities, that are implemented as returning "this". + + + + + The default instance to use when all the comparers used are their default values. + + + + + The equality comparer to use for the key. + + + + + The value comparer. + + + + + Initializes a new instance of the class. + + The key only comparer. + The value comparer. + + + + Gets the key comparer. + + + The key comparer. + + + + + Gets the key only comparer. + + + The key only comparer. + + + + + Gets the value comparer. + + + The value comparer. + + + + + Gets the equality comparer to use with hash buckets. + + + + + Determines whether the specified objects are equal. + + The first object to compare. + The second object to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for this instance. + + The obj. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified objects are equal. + + The first object to compare. + The second object to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for this instance. + + The obj. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets an instance that refers to the specified combination of comparers. + + The key comparer. + The value comparer. + An instance of + + + + Returns an instance of that shares the same key comparers + with this instance, but uses the specified value comparer. + + The new value comparer to use. + A new instance of + + + + Enumerates the contents of the collection in an allocation-free manner. + + + + + The builder being enumerated, if applicable. + + + + + The enumerator over the sorted dictionary whose keys are hash values. + + + + + The enumerator in use within an individual . + + + + + The version of the builder (when applicable) that is being enumerated. + + + + + Initializes a new instance of the struct. + + The root. + The builder, if applicable. + + + + Gets the current element. + + + + + Gets the current element. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + The collection was modified after the enumerator was created. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Throws an exception if the underlying builder's contents have been changed since enumeration started. + + Thrown if the collection has changed. + + + + Contains all the key/values in the collection that hash to the same value. + + + + + One of the values in this bucket. + + + + + Any other elements that hash to the same value. + + + This is null if and only if the entire bucket is empty (including ). + It's empty if has an element but no additional elements. + + + + + Initializes a new instance of the struct. + + The first element. + The additional elements. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the first value in this bucket. + + + + + Gets the list of additional (hash collision) elements. + + + + + Returns an enumerator that iterates through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Throws an exception to catch any errors in comparing instances. + + + + + Adds the specified key. + + The key to add. + The value to add. + The key comparer. + The value comparer. + The intended behavior for certain cases that may come up during the operation. + A description of the effect was on adding an element to this . + A new that contains the added value and any values already held by this . + + + + Removes the specified value if it exists in the collection. + + The key to remove. + The equality comparer. + A description of the effect was on adding an element to this . + A new that does not contain the removed value and any values already held by this . + + + + Gets the value for the given key in the collection if one exists.. + + The key to search for. + The key comparer. + The value for the given key. + A value indicating whether the key was found. + + + + Searches the dictionary for a given key and returns the equal key it finds, if any. + + The key to search for. + The key comparer. + The key from the dictionary that the search found, or if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + the canonical value, or a value that has more complete data than the value you currently have, + although their comparer functions indicate they are equal. + + + + + Freezes this instance so that any further mutations require new memory allocations. + + + + + Enumerates all the elements in this instance. + + + + + The bucket being enumerated. + + + + + The current position of this enumerator. + + + + + The enumerator that represents the current position over the of the . + + + + + Initializes a new instance of the struct. + + The bucket. + + + + Describes the positions the enumerator state machine may be in. + + + + + The first element has not yet been moved to. + + + + + We're at the of the containing bucket. + + + + + We're enumerating the in the bucket. + + + + + The end of enumeration has been reached. + + + + + Gets the current element. + + + + + Gets the current element. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + The collection was modified after the enumerator was created. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Description of the current data structure as input into a + mutating or query method. + + + + + The root of the data structure for the collection. + + + + + The comparer used when comparing hash buckets. + + + + + The current number of elements in the collection. + + + + + Initializes a new instance of the struct. + + The root. + The comparers. + The current number of elements in the collection. + + + + Initializes a new instance of the struct. + + The map. + + + + Gets the root of the data structure for the collection. + + + + + Gets the key comparer. + + + + + Gets the key only comparer. + + + + + Gets the value comparer. + + + + + Gets the comparers. + + + + + Gets the current number of elements in the collection. + + + + + Describes the result of a mutation on the immutable data structure. + + + + + The root node of the data structure after the mutation. + + + + + The number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements). + + + + + Initializes a new instance of the struct. + + The unchanged input. + + + + Initializes a new instance of the struct. + + The root. + The count adjustment. + + + + Gets the root node of the data structure after the mutation. + + + + + Gets the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements). + + + + + Returns an immutable dictionary that captures the result of this mutation. + + The prior version of the map. Used to capture the equality comparer and previous count, when applicable. + The new collection. + + + + An empty immutable dictionary with default equality comparers. + + + + + The singleton delegate that freezes the contents of hash buckets when the root of the data structure is frozen. + + + + + The number of elements in the collection. + + + + + The root node of the tree that stores this map. + + + + + The comparer used when comparing hash buckets. + + + + + Initializes a new instance of the class. + + The root. + The comparers. + The number of elements in the map. + + + + Initializes a new instance of the class. + + The comparers. + + + + How to respond when a key collision is discovered. + + + + + Sets the value for the given key, even if that overwrites an existing value. + + + + + Skips the mutating operation if a key conflict is detected. + + + + + Throw an exception if the key already exists with a different key. + + + + + Throw an exception if the key already exists regardless of its value. + + + + + The result of a mutation operation. + + + + + The change was applied and did not require a change to the number of elements in the collection. + + + + + The change required element(s) to be added or removed from the collection. + + + + + No change was required (the operation ended in a no-op). + + + + + See the interface. + + + + + Gets the number of elements in this collection. + + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the key comparer. + + + + + Gets the value comparer used to determine whether values are equal. + + + + + Gets the keys in the map. + + + + + Gets the values in the map. + + + + + Gets the empty instance. + + + + + Gets the keys. + + + + + Gets the values. + + + + + Gets a data structure that captures the current state of this map, as an input into a query or mutating function. + + + + + Gets the with the specified key. + + + + + Gets or sets the with the specified key. + + + + + Creates a collection with the same contents as this collection that + can be efficiently mutated across multiple operations using standard + mutable interfaces. + + + This is an O(1) operation and results in only a single (small) memory allocation. + The mutable collection that is returned is *not* thread-safe. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + + The key=value pairs to set on the map. Any keys that conflict with existing keys will overwrite the previous values. + An immutable dictionary. + + + + See the interface. + + + + + See the interface. + + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Determines whether [contains] [the specified key value pair]. + + The key value pair. + + true if [contains] [the specified key value pair]; otherwise, false. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + + true if the contains + an element with the specified value; otherwise, false. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + See the interface + + + + + See the interface + + + + + Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + + The key=value pairs to set on the map. Any keys that conflict with existing keys will overwrite the previous values. + An immutable dictionary. + + + + See the interface + + + + + See the interface + + + + + See the interface + + + + + Adds an element with the provided key and value to the . + + The object to use as the key of the element to add. + The object to use as the value of the element to add. + is null. + + + An element with the same key already exists in the . + + + The is read-only. + + + + + Removes the element with the specified key from the . + + The key of the element to remove. + + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original . + + is null. + + + The is read-only. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Gets an containing the keys of the . + + + An containing the keys of the object that implements . + + + + + Gets an containing the values in the . + + + An containing the values in the object that implements . + + + + + Gets the root node (for testing purposes). + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Gets or sets the element with the specified key. + + The key. + + + + + Clears this instance. + + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets an empty collection with the specified comparers. + + The comparers. + The empty dictionary. + + + + Attempts to discover an instance beneath some enumerable sequence + if one exists. + + The sequence that may have come from an immutable map. + Receives the concrete typed value if one can be found. + true if the cast was successful; false otherwise. + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Wraps the specified data structure with an immutable collection wrapper. + + The root of the data structure. + The comparers. + The number of elements in the data structure. + + The immutable collection. + + + + + Wraps the specified data structure with an immutable collection wrapper. + + The root of the data structure. + The adjusted count if the root has changed. + The immutable collection. + + + + Bulk adds entries to the map. + + The entries to add. + true when being called from to avoid . + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + Extension methods for immutable types. + + + + + Tries to divine the number of elements in a sequence without actually enumerating each element. + + The type of elements in the sequence. + The enumerable source. + Receives the number of elements in the enumeration, if it could be determined. + true if the count could be determined; false otherwise. + + + + Tries to divine the number of elements in a sequence without actually enumerating each element. + + The type of elements in the sequence. + The enumerable source. + Receives the number of elements in the enumeration, if it could be determined. + true if the count could be determined; false otherwise. + + + + Gets the number of elements in the specified sequence, + while guaranteeing that the sequence is only enumerated once + in total by this method and the caller. + + The type of element in the collection. + The sequence. + The number of elements in the sequence. + + + + Gets a copy of a sequence as an array. + + The type of element. + The sequence to be copied. + The number of elements in the sequence. + The array. + + This is more efficient than the extension method + because that only tries to cast the sequence to to determine + the count before it falls back to reallocating arrays as it enumerates. + + + + + Provides a known wrapper around a sequence of elements that provides the number of elements + and an indexer into its contents. + + The type of elements in the collection. + The collection. + An ordered collection. May not be thread-safe. Never null. + + + + Clears the specified stack. For empty stacks, it avoids the call to , which + avoids a call into the runtime's implementation of , helping performance, + in particular around inlining. typically gets inlined by today's JIT, while + and typically don't. + + Specifies the type of data in the stack to be cleared. + The stack to clear. + + + + Gets a disposable enumerable that can be used as the source for a C# foreach loop + that will not box the enumerator if it is of a particular type. + + The type of value to be enumerated. + The type of the Enumerator struct. + The collection to be enumerated. + A struct that enumerates the collection. + + + + Wraps a as an ordered collection. + + The type of element in the collection. + + + + The list being exposed. + + + + + Initializes a new instance of the class. + + The collection. + + + + Gets the count. + + + + + Gets the at the specified index. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Wraps any as an ordered, indexable list. + + The type of element in the collection. + + + + The original sequence. + + + + + The list-ified sequence. + + + + + Initializes a new instance of the class. + + The sequence. + + + + Gets the count. + + + + + Gets the at the specified index. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Returns an empty collection. + + The type of items stored by the collection. + The equality comparer. + + The immutable collection. + + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The equality comparer. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The equality comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The equality comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable hash set builder. + + The type of items stored by the collection. + The immutable collection. + + + + Creates a new immutable hash set builder. + + The type of items stored by the collection. + The equality comparer. + + The immutable collection. + + + + + Enumerates a sequence exactly once and produces an immutable set of its contents. + + The type of element in the sequence. + The sequence to enumerate. + The equality comparer to use for initializing and adding members to the hash set. + An immutable set. + + + + Enumerates a sequence exactly once and produces an immutable set of its contents. + + The type of element in the sequence. + The sequence to enumerate. + An immutable set. + + + + Contains the inner class. + + + Contains the inner class. + + + Contains the inner struct. + + + Contains the inner class. + + + Contains the inner class. + + + Contains the inner class. + + + An immutable unordered hash set implementation. + + The type of elements in the set. + + + + A hash set that mutates with little or no memory allocations, + can produce and/or build on immutable hash set instances very efficiently. + + + + While and other bulk change methods + already provide fast bulk change operations on the collection, this class allows + multiple combinations of changes to be made to a set with equal efficiency. + + + Instance members of this class are not thread-safe. + + + + + + The root of the binary tree that stores the collection. Contents are typically not entirely frozen. + + + + + The equality comparer. + + + + + The number of elements in this collection. + + + + + Caches an immutable instance that represents the current state of the collection. + + Null if no immutable view has been created for the current version. + + + + A number that increments every time the builder changes its contents. + + + + + Initializes a new instance of the class. + + The set. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Gets or sets the key comparer. + + + The key comparer. + + + + + Gets the current version of the contents of this builder. + + + + + Gets the initial data to pass to a query or mutation method. + + + + + Gets or sets the root of this data structure. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Creates an immutable hash set based on the contents of this instance. + + An immutable set. + + This method is an O(n) operation, and approaches O(1) time as the number of + actual mutations to the set since the last call to this method approaches 0. + + + + + Adds the specified item. + + The item. + True if the item did not already belong to the collection. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes all items from the . + + The is read-only. + + + + Removes all elements in the specified collection from the current set. + + The collection of items to remove from the set. + + + + Modifies the current set so that it contains only elements that are also in a specified collection. + + The collection to compare to the current set. + + + + Determines whether the current set is a proper (strict) subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct subset of other; otherwise, false. + + + + Determines whether the current set is a proper (strict) superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set is a subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a subset of other; otherwise, false. + + + + Determines whether the current set is a superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set overlaps with the specified collection. + + The collection to compare to the current set. + true if the current set and other share at least one common element; otherwise, false. + + + + Determines whether the current set and the specified collection contain the same elements. + + The collection to compare to the current set. + true if the current set is equal to other; otherwise, false. + + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + + The collection to compare to the current set. + + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + + The collection to compare to the current set. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + See the interface. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Applies the result of some mutation operation to this instance. + + The result. + + + + Enumerates the contents of the collection in an allocation-free manner. + + + + + The builder being enumerated, if applicable. + + + + + The enumerator over the sorted dictionary whose keys are hash values. + + + + + The enumerator in use within an individual HashBucket. + + + + + The version of the builder (when applicable) that is being enumerated. + + + + + Initializes a new instance of the struct. + + The root. + The builder, if applicable. + + + + Gets the current element. + + + + + Gets the current element. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + The collection was modified after the enumerator was created. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Throws an exception if the underlying builder's contents have been changed since enumeration started. + + Thrown if the collection has changed. + + + + The result of a mutation operation. + + + + + The change required element(s) to be added or removed from the collection. + + + + + No change was required (the operation ended in a no-op). + + + + + Contains all the keys in the collection that hash to the same value. + + + + + One of the values in this bucket. + + + + + Any other elements that hash to the same value. + + + This is null if and only if the entire bucket is empty (including ). + It's empty if has an element but no additional elements. + + + + + Initializes a new instance of the struct. + + The first element. + The additional elements. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Returns an enumerator that iterates through the collection. + + + + + Adds the specified value. + + The value. + The value comparer. + A description of the effect was on adding an element to this . + A new that contains the added value and any values already held by this . + + + + Determines whether the contains the specified value. + + The value. + The value comparer. + + + + Searches the set for a given value and returns the equal value it finds, if any. + + The value to search for. + The value comparer. + The value from the set that the search found, or the original value if the search yielded no match. + + A value indicating whether the search was successful. + + + + + Removes the specified value if it exists in the collection. + + The value. + The equality comparer. + A description of the effect was on adding an element to this . + A new that does not contain the removed value and any values already held by this . + + + + Freezes this instance so that any further mutations require new memory allocations. + + + + + Enumerates all the elements in this instance. + + + + + The bucket being enumerated. + + + + + A value indicating whether this enumerator has been disposed. + + + + + The current position of this enumerator. + + + + + The enumerator that represents the current position over the of the . + + + + + Initializes a new instance of the struct. + + The bucket. + + + + Describes the positions the enumerator state machine may be in. + + + + + The first element has not yet been moved to. + + + + + We're at the of the containing bucket. + + + + + We're enumerating the in the bucket. + + + + + The end of enumeration has been reached. + + + + + Gets the current element. + + + + + Gets the current element. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + The collection was modified after the enumerator was created. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Throws an if this enumerator has been disposed. + + + + + Description of the current data structure as input into a + mutating or query method. + + + + + The root of the data structure for the collection. + + + + + The equality comparer. + + + + + The current number of elements in the collection. + + + + + Initializes a new instance of the struct. + + The set. + + + + Initializes a new instance of the struct. + + The root. + The equality comparer. + The count. + + + + Gets the root of the data structure for the collection. + + + + + Gets the equality comparer. + + + + + Gets the current number of elements in the collection. + + + + + Interpretations for a member. + + + + + The member describes an adjustment to the previous count of the collection. + + + + + The member describes the actual count of the collection. + + + + + Describes the result of a mutation on the immutable data structure. + + + + + The root node of the data structure after the mutation. + + + + + Either the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements), + or the total number of elements in the collection after the mutation. The appropriate interpretation of this value is indicated by the + field. + + + + + Whether to consider the field to be a count adjustment or total count. + + + + + Initializes a new instance of the struct. + + The root node of the result. + The total element count or a count adjustment. + The appropriate interpretation for the parameter. + + + + Gets the root node of the data structure after the mutation. + + + + + Gets either the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements), + or the total number of elements in the collection after the mutation. The appropriate interpretation of this value is indicated by the + property. + + + + + Gets the appropriate interpretation for the property; whether to be a count adjustment or total count. + + + + + Returns an immutable hash set that captures the result of this mutation. + + The prior version of the set. Used to capture the equality comparer and previous count, when applicable. + The new collection. + + + + Enumerates over a sorted dictionary used for hash buckets. + + + + + The root of the sorted dictionary to enumerate. + + + + + Initializes a new instance of the struct. + + The root. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + An empty immutable hash set with the default comparer for . + + + + + The singleton delegate that freezes the contents of hash buckets when the root of the data structure is frozen. + + + + + The equality comparer used to hash the elements in the collection. + + + + + The number of elements in this collection. + + + + + The sorted dictionary that this hash set wraps. The key is the hash code and the value is the bucket of all items that hashed to it. + + + + + Initializes a new instance of the class. + + The equality comparer. + + + + Initializes a new instance of the class. + + The sorted set that this set wraps. + The equality comparer used by this instance. + The number of elements in this collection. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See . + + + + + See the interface. + + + + + Gets the root node (for testing purposes). + + + + + Gets a data structure that captures the current state of this map, as an input into a query or mutating function. + + + + + Creates a collection with the same contents as this collection that + can be efficiently mutated across multiple operations using standard + mutable interfaces. + + + This is an O(1) operation and results in only a single (small) memory allocation. + The mutable collection that is returned is *not* thread-safe. + + + + + See the interface. + + + + + See the interface. + + + + + Searches the set for a given value and returns the equal value it finds, if any. + + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + a value that has more complete data than the value you currently have, although their + comparer functions indicate they are equal. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Produces a set that contains elements either in this set or a given sequence, but not both. + + The other sequence of items. + The new set. + + + + Checks whether a given sequence of items entirely describe the contents of this set. + + The sequence of items to check against this set. + A value indicating whether the sets are equal. + + + + Determines whether the current set is a property (strict) subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct subset of ; otherwise, false. + + + + Determines whether the current set is a correct superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct superset of ; otherwise, false. + + + + Determines whether a set is a subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a subset of ; otherwise, false. + + + + Determines whether the current set is a superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of ; otherwise, false. + + + + Determines whether the current set overlaps with the specified collection. + + The collection to compare to the current set. + true if the current set and share at least one common element; otherwise, false. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Produces a set that contains elements either in this set or a given sequence, but not both. + + The other sequence of items. + The new set. + + + + See the interface. + + + + + See the interface. + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Performs the set operation on a given data structure. + + + + + Wraps the specified data structure with an immutable collection wrapper. + + The root of the data structure. + The equality comparer. + The number of elements in the data structure. + The immutable collection. + + + + Wraps the specified data structure with an immutable collection wrapper. + + The root of the data structure. + The adjusted count if the root has changed. + The immutable collection. + + + + Bulk adds entries to the set. + + The entries to add. + true when being called from to avoid . + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + Contains interlocked exchange mechanisms for immutable collections. + + + + + Mutates a value in-place with optimistic locking transaction semantics + via a specified transformation function. + The transformation is retried as many times as necessary to win the optimistic locking race. + + The type of data. + + The variable or field to be changed, which may be accessed by multiple threads. + + + A function that mutates the value. This function should be side-effect free, + as it may run multiple times when races occur with other threads. + + true if the location's value is changed by applying the result of the + function; + false if the location's value remained the same because the last + invocation of returned the existing value. + + + + + Mutates a value in-place with optimistic locking transaction semantics + via a specified transformation function. + The transformation is retried as many times as necessary to win the optimistic locking race. + + The type of data. + The type of argument passed to the . + + The variable or field to be changed, which may be accessed by multiple threads. + + + A function that mutates the value. This function should be side-effect free, + as it may run multiple times when races occur with other threads. + The argument to pass to . + + true if the location's value is changed by applying the result of the + function; + false if the location's value remained the same because the last + invocation of returned the existing value. + + + + + Assigns a field or variable containing an immutable array to the specified value and returns the previous value. + + The type of element stored by the array. + The field or local variable to change. + The new value to assign. + The prior value at the specified . + + + + Assigns a field or variable containing an immutable array to the specified value + if it is currently equal to another specified value. Returns the previous value. + + The type of element stored by the array. + The field or local variable to change. + The new value to assign. + The value to check equality for before assigning. + The prior value at the specified . + + + + Assigns a field or variable containing an immutable array to the specified value + if it is has not yet been initialized. + + The type of element stored by the array. + The field or local variable to change. + The new value to assign. + True if the field was assigned the specified value; false if it was previously initialized. + + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The type of argument supplied to the value factory. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The function to execute to obtain the value to insert into the dictionary if the key is not found. + The argument to pass to the value factory. + The value obtained from the dictionary or if it was not present. + + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + + The function to execute to obtain the value to insert into the dictionary if the key is not found. + This delegate will not be invoked more than once. + + The value obtained from the dictionary or if it was not present. + + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The value to add to the dictionary if one is not already present. + The value obtained from the dictionary or if it was not present. + + + + Obtains the value from a dictionary after having added it or updated an existing entry. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The function that receives the key and returns a new value to add to the dictionary when no value previously exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + The added or updated value. + + + + Obtains the value from a dictionary after having added it or updated an existing entry. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The value to use if no previous value exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + The added or updated value. + + + + Adds the specified key and value to the dictionary if no colliding key already exists in the dictionary. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key to add, if is not already defined in the dictionary. + The value to add. + true if the key was not previously set in the dictionary and the value was set; false otherwise. + + + + Sets the specified key to the given value if the key already is set to a specific value. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key to update. + The new value to set. + The value that must already be set in the dictionary in order for the update to succeed. + true if the key and comparison value were present in the dictionary and the update was made; false otherwise. + + + + Removes an entry from the dictionary with the specified key if it is defined and returns its value. + + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key to remove. + Receives the value from the pre-existing entry, if one exists. + true if the key was found and removed; false otherwise. + + + + Pushes a new element onto a stack. + + The type of elements stored in the stack. + The variable or field to atomically update. + The value popped from the stack, if it was non-empty. + true if an element was removed from the stack; false otherwise. + + + + Pushes a new element onto a stack. + + The type of elements stored in the stack. + The variable or field to atomically update. + The value to push. + + + + Atomically removes the element at the head of a queue and returns it to the caller, if the queue is not empty. + + The type of element stored in the queue. + The variable or field to atomically update. + Receives the value from the head of the queue, if the queue is non-empty. + true if the queue was not empty and the head element was removed; false otherwise. + + + + Atomically enqueues an element to the tail of a queue. + + The type of element stored in the queue. + The variable or field to atomically update. + The value to enqueue. + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable list builder. + + The type of items stored by the collection. + The immutable collection builder. + + + + Enumerates a sequence exactly once and produces an immutable list of its contents. + + The type of element in the sequence. + The sequence to enumerate. + An immutable list. + + + + Replaces the first equal element in the list with the specified element. + + The list to search. + The element to replace. + The element to replace the old element with. + The new list -- even if the value being replaced is equal to the new value for that position. + Thrown when the old value does not exist in the list. + + + + Removes the specified value from this list. + + The list to search. + The value to remove. + A new list with the element removed, or this list if the element is not in this list. + + + + Removes the specified values from this list. + + The list to search. + The items to remove if matches are found in this list. + + A new list with the elements removed. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the . + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based index of the first occurrence of item within the range of + elements in the that extends from index + to the last element, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the . + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + The equality comparer to use in the search. + + The zero-based index of the first occurrence of item within the range of + elements in the that extends from index + to the last element, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that extends from the specified index to the last element. + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The zero-based index of the first occurrence of item within the range of + elements in the that extends from index + to the last element, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that extends from the specified index to the last element. + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The zero-based index of the first occurrence of item within the range of + elements in the that extends from index + to the last element, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the entire . + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based index of the last occurrence of item within the entire the + , if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the entire . + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + The equality comparer to use in the search. + + The zero-based index of the last occurrence of item within the entire the + , if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the + that extends from the first element to the specified index. + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the backward search. + + + The zero-based index of the last occurrence of item within the range of elements + in the that extends from the first element + to index, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the + that extends from the first element to the specified index. + + The list to search. + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the backward search. + + + The number of elements in the section to search. + + + The zero-based index of the last occurrence of item within the range of elements + in the that extends from the first element + to index, if found; otherwise, -1. + + + + + Contains the inner Builder class. + + + An immutable list implementation. + + The type of elements in the set. + + + + A list that mutates with little or no memory allocations, + can produce and/or build on immutable list instances very efficiently. + + + + While and other bulk change methods + already provide fast bulk change operations on the collection, this class allows + multiple combinations of changes to be made to a set with equal efficiency. + + + Instance members of this class are not thread-safe. + + + + + + The binary tree used to store the contents of the list. Contents are typically not entirely frozen. + + + + + Caches an immutable instance that represents the current state of the collection. + + Null if no immutable view has been created for the current version. + + + + A number that increments every time the builder changes its contents. + + + + + The object callers may use to synchronize access to this collection. + + + + + Initializes a new instance of the class. + + A list to act as the basis for a new list. + + + + Gets the number of elements in this list. + + + + + Gets a value indicating whether this instance is read-only. + + Always false. + + + + Gets the current version of the contents of this builder. + + + + + Gets or sets the root node that represents the data in this collection. + + + + + Gets or sets the value for a given index into the list. + + The index of the desired element. + The value at the specified index. + + + + Gets the element in the collection at a given index. + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Performs the specified action on each element of the list. + + The System.Action<T> delegate to perform on each element of the list. + + + + Copies the entire ImmutableList<T> to a compatible one-dimensional + array, starting at the beginning of the target array. + + + The one-dimensional System.Array that is the destination of the elements + copied from ImmutableList<T>. The System.Array must have + zero-based indexing. + + + + + Copies the entire ImmutableList<T> to a compatible one-dimensional + array, starting at the specified index of the target array. + + + The one-dimensional System.Array that is the destination of the elements + copied from ImmutableList<T>. The System.Array must have + zero-based indexing. + + + The zero-based index in array at which copying begins. + + + + + Copies a range of elements from the ImmutableList<T> to + a compatible one-dimensional array, starting at the specified index of the + target array. + + + The zero-based index in the source ImmutableList<T> at + which copying begins. + + + The one-dimensional System.Array that is the destination of the elements + copied from ImmutableList<T>. The System.Array must have + zero-based indexing. + + The zero-based index in array at which copying begins. + The number of elements to copy. + + + + Creates a shallow copy of a range of elements in the source ImmutableList<T>. + + + The zero-based ImmutableList<T> index at which the range + starts. + + + The number of elements in the range. + + + A shallow copy of a range of elements in the source ImmutableList<T>. + + + + + Converts the elements in the current ImmutableList<T> to + another type, and returns a list containing the converted elements. + + + A System.Converter<TInput,TOutput> delegate that converts each element from + one type to another type. + + + The type of the elements of the target array. + + + A ImmutableList<T> of the target type containing the converted + elements from the current ImmutableList<T>. + + + + + Determines whether the ImmutableList<T> contains elements + that match the conditions defined by the specified predicate. + + + The System.Predicate<T> delegate that defines the conditions of the elements + to search for. + + + true if the ImmutableList<T> contains one or more elements + that match the conditions defined by the specified predicate; otherwise, + false. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the first occurrence within the entire ImmutableList<T>. + + + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + + The first element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type T. + + + + + Retrieves all the elements that match the conditions defined by the specified + predicate. + + + The System.Predicate<T> delegate that defines the conditions of the elements + to search for. + + + A ImmutableList<T> containing all the elements that match + the conditions defined by the specified predicate, if found; otherwise, an + empty ImmutableList<T>. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the entire ImmutableList<T>. + + + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + + The zero-based index of the first occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the ImmutableList<T> that extends + from the specified index to the last element. + + The zero-based starting index of the search. + The System.Predicate<T> delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the ImmutableList<T> that starts + at the specified index and contains the specified number of elements. + + The zero-based starting index of the search. + The number of elements in the section to search. + The System.Predicate<T> delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the last occurrence within the entire ImmutableList<T>. + + + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + + The last element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type T. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the entire ImmutableList<T>. + + + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the ImmutableList<T> that extends + from the first element to the specified index. + + The zero-based starting index of the backward search. + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + The zero-based index of the last occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the ImmutableList<T> that contains + the specified number of elements and ends at the specified index. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The System.Predicate<T> delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by match, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the ImmutableList<T> + that extends from the specified index to the last element. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The zero-based index of the first occurrence of item within the range of + elements in the ImmutableList<T> that extends from index + to the last element, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the ImmutableList<T> + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The zero-based index of the first occurrence of item within the range of + elements in the ImmutableList<T> that starts at index and + contains count number of elements, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the ImmutableList<T> + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The equality comparer to use in the search. + If null, is used. + + + The zero-based index of the first occurrence of item within the range of + elements in the ImmutableList<T> that starts at index and + contains count number of elements, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the ImmutableList<T> + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + + The zero-based index of the last occurrence of item within the range of elements + in the ImmutableList<T> that contains count number of elements + and ends at index, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the ImmutableList<T> + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + The zero-based starting index of the backward search. + + The zero-based index of the last occurrence of item within the range of elements + in the ImmutableList<T> that contains count number of elements + and ends at index, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the ImmutableList<T> + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The zero-based index of the last occurrence of item within the range of elements + in the ImmutableList<T> that contains count number of elements + and ends at index, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the ImmutableList<T> + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the ImmutableList<T>. The value + can be null for reference types. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + The equality comparer to use in the search. + + The zero-based index of the last occurrence of item within the range of elements + in the ImmutableList<T> that contains count number of elements + and ends at index, if found; otherwise, -1. + + + + + Determines whether every element in the ImmutableList<T> + matches the conditions defined by the specified predicate. + + + The System.Predicate<T> delegate that defines the conditions to check against + the elements. + + + true if every element in the ImmutableList<T> matches the + conditions defined by the specified predicate; otherwise, false. If the list + has no elements, the return value is true. + + + + + Adds the elements of a sequence to the end of this collection. + + + The sequence whose elements should be appended to this collection. + The sequence itself cannot be null, but it can contain elements that are + null, if type is a reference type. + + + + + Inserts the elements of a collection into the ImmutableList<T> + at the specified index. + + + The zero-based index at which the new elements should be inserted. + + + The collection whose elements should be inserted into the ImmutableList<T>. + The collection itself cannot be null, but it can contain elements that are + null, if type T is a reference type. + + + + + Removes all the elements that match the conditions defined by the specified + predicate. + + + The System.Predicate<T> delegate that defines the conditions of the elements + to remove. + + + The number of elements removed from the ImmutableList<T> + + + + + Reverses the order of the elements in the entire ImmutableList<T>. + + + + + Reverses the order of the elements in the specified range. + + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + + + + Sorts the elements in the entire ImmutableList<T> using + the default comparer. + + + + + Sorts the elements in the entire ImmutableList<T> using + the specified System.Comparison<T>. + + + The to use when comparing elements. + + is null. + + + + Sorts the elements in the entire ImmutableList<T> using + the specified comparer. + + + The implementation to use when comparing + elements, or null to use . + + + + + Sorts the elements in a range of elements in ImmutableList<T> + using the specified comparer. + + + The zero-based starting index of the range to sort. + + + The length of the range to sort. + + + The implementation to use when comparing + elements, or null to use . + + + + + Searches the entire sorted System.Collections.Generic.List<T> for an element + using the default comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The zero-based index of item in the sorted System.Collections.Generic.List<T>, + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of System.Collections.Generic.List<T>.Count. + + + The default comparer System.Collections.Generic.Comparer<T>.Default cannot + find an implementation of the System.IComparable<T> generic interface or + the System.IComparable interface for type T. + + + + + Searches the entire sorted System.Collections.Generic.List<T> for an element + using the specified comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The System.Collections.Generic.IComparer<T> implementation to use when comparing + elements.-or-null to use the default comparer System.Collections.Generic.Comparer<T>.Default. + + + The zero-based index of item in the sorted System.Collections.Generic.List<T>, + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of System.Collections.Generic.List<T>.Count. + + + comparer is null, and the default comparer System.Collections.Generic.Comparer<T>.Default + cannot find an implementation of the System.IComparable<T> generic interface + or the System.IComparable interface for type T. + + + + + Searches a range of elements in the sorted System.Collections.Generic.List<T> + for an element using the specified comparer and returns the zero-based index + of the element. + + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + + The System.Collections.Generic.IComparer<T> implementation to use when comparing + elements, or null to use the default comparer System.Collections.Generic.Comparer<T>.Default. + + + The zero-based index of item in the sorted System.Collections.Generic.List<T>, + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of System.Collections.Generic.List<T>.Count. + + + index is less than 0.-or-count is less than 0. + + + index and count do not denote a valid range in the System.Collections.Generic.List<T>. + + + comparer is null, and the default comparer System.Collections.Generic.Comparer<T>.Default + cannot find an implementation of the System.IComparable<T> generic interface + or the System.IComparable interface for type T. + + + + + Creates an immutable list based on the contents of this instance. + + An immutable list. + + This method is an O(n) operation, and approaches O(1) time as the number of + actual mutations to the set since the last call to this method approaches 0. + + + + + Adds an item to the . + + The object to add to the . + + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, + + + + + Clears this instance. + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if the is found in the ; otherwise, false. + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + + + Gets a value indicating whether the has a fixed size. + + true if the has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + + + Gets or sets the at the specified index. + + + The . + + The index. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + An empty immutable list. + + + + + The root node of the AVL tree that stores this set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The root of the AVL tree with the contents of this set. + + + + See the interface. + + + + + Searches the entire sorted for an element + using the default comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The zero-based index of item in the sorted , + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of . + + + The default comparer cannot + find an implementation of the generic interface or + the interface for type . + + + + + Searches the entire sorted for an element + using the specified comparer and returns the zero-based index of the element. + + The object to locate. The value can be null for reference types. + + The implementation to use when comparing + elements.-or-null to use the default comparer . + + + The zero-based index of item in the sorted , + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of . + + + is null, and the default comparer + cannot find an implementation of the generic interface + or the interface for type . + + + + + Searches a range of elements in the sorted + for an element using the specified comparer and returns the zero-based index + of the element. + + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + + The implementation to use when comparing + elements, or null to use the default comparer . + + + The zero-based index of item in the sorted , + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of . + + + is less than 0.-or- is less than 0. + + + and do not denote a valid range in the . + + + is null, and the default comparer + cannot find an implementation of the generic interface + or the interface for type . + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See . + + + + + See the interface. + + + + + Gets the element of the set at the given index. + + The 0-based index of the element in the set to return. + The element at the given position. + Thrown from getter when is negative or not less than . + + + + Gets the element in the collection at a given index. + + + + + Creates a collection with the same contents as this collection that + can be efficiently mutated across multiple operations using standard + mutable interfaces. + + + This is an O(1) operation and results in only a single (small) memory allocation. + The mutable collection that is returned is *not* thread-safe. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Removes the specified values from this list. + + The starting index to begin removal. + The number of elements to remove. + A new list with the elements removed. + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + A new list with the elements removed. + + + + + Removes the specified values from this list. + + The items to remove if matches are found in this list. + + The equality comparer to use in the search. + If null, is used. + + + A new list with the elements removed. + + + + + See the interface. + + + + + Removes all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to remove. + + + The new list. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Reverses the order of the elements in the entire . + + The reversed list. + + + + Reverses the order of the elements in the specified range. + + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + The reversed list. + + + + Sorts the elements in the entire using + the default comparer. + + + + + Sorts the elements in the entire using + the specified . + + + The to use when comparing elements. + + The sorted list. + is null. + + + + Sorts the elements in the entire using + the specified comparer. + + + The implementation to use when comparing + elements, or null to use the default comparer . + + The sorted list. + + + + Sorts the elements in a range of elements in + using the specified comparer. + + + The zero-based starting index of the range to sort. + + + The length of the range to sort. + + + The implementation to use when comparing + elements, or null to use the default comparer . + + The sorted list. + + + + Performs the specified action on each element of the list. + + The System.Action<T> delegate to perform on each element of the list. + + + + Copies the entire to a compatible one-dimensional + array, starting at the beginning of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + + + Copies the entire to a compatible one-dimensional + array, starting at the specified index of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + The zero-based index in array at which copying begins. + + + + + Copies a range of elements from the to + a compatible one-dimensional array, starting at the specified index of the + target array. + + + The zero-based index in the source at + which copying begins. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + The zero-based index in array at which copying begins. + The number of elements to copy. + + + + Creates a shallow copy of a range of elements in the source . + + + The zero-based index at which the range + starts. + + + The number of elements in the range. + + + A shallow copy of a range of elements in the source . + + + + + Converts the elements in the current to + another type, and returns a list containing the converted elements. + + + A delegate that converts each element from + one type to another type. + + + The type of the elements of the target array. + + + A of the target type containing the converted + elements from the current . + + + + + Determines whether the contains elements + that match the conditions defined by the specified predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + true if the contains one or more elements + that match the conditions defined by the specified predicate; otherwise, + false. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the first occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The first element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Retrieves all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + A containing all the elements that match + the conditions defined by the specified predicate, if found; otherwise, an + empty . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that extends + from the specified index to the last element. + + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that starts + at the specified index and contains the specified number of elements. + + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the last occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The last element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that extends + from the first element to the specified index. + + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element + to search for. + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that contains + the specified number of elements and ends at the specified index. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The equality comparer to use in the search. + + + The zero-based index of the first occurrence of within the range of + elements in the that starts at and + contains number of elements, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the . The value + can be null for reference types. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The equality comparer to use in the search. + + + The zero-based index of the last occurrence of within the range of elements + in the that contains number of elements + and ends at , if found; otherwise, -1. + + + + + Determines whether every element in the + matches the conditions defined by the specified predicate. + + + The delegate that defines the conditions to check against + the elements. + + + true if every element in the matches the + conditions defined by the specified predicate; otherwise, false. If the list + has no elements, the return value is true. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Inserts the specified value at the specified index. + + The index at which to insert the value. + The element to add. + The new immutable list. + + + + Inserts the specified value at the specified index. + + The index at which to insert the value. + The elements to add. + The new immutable list. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Removes the element at the specified index. + + The index. + A new list with the elements removed. + + + + Replaces an element in the list at a given position with the specified element. + + The position in the list of the element to replace. + The element to replace the old element with. + The new list. + + + + Replaces an element in the list with the specified element. + + The element to replace. + The element to replace the old element with. + + The equality comparer to use in the search. + If null, is used. + + The new list. + Thrown when the old value does not exist in the list. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Inserts the specified index. + + The index. + The item. + Always thrown. + + + + Removes the value at the specified index. + + The index. + Always thrown. + + + + Gets or sets the value at the specified index. + + Thrown from getter when is negative or not less than . + Always thrown from the setter. + + + + Adds the specified item. + + The item. + Always thrown. + + + + Clears this instance. + + Always thrown. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Removes the specified item. + + The item. + Nothing. An exception is always thrown. + Always thrown. + + + + See the interface. + + + + + Adds an item to the . + + The object to add to the . + + Nothing. An exception is always thrown. + + Always thrown. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + Always thrown. + + + + Clears this instance. + + Always thrown. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if the is found in the ; otherwise, false. + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + Always thrown. + + + + Gets a value indicating whether the has a fixed size. + + true if the has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + Always thrown. + + + + Gets or sets the at the specified index. + + + The . + + The index. + The value at the specified index. + Thrown from getter when is negative or not less than . + Always thrown from the setter. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + Returns the root of the list + + + + + Creates a new sorted set wrapper for a node tree. + + The root of the collection. + The immutable sorted set instance. + + + + Attempts to discover an instance beneath some enumerable sequence + if one exists. + + The sequence that may have come from an immutable list. + Receives the concrete typed value if one can be found. + true if the cast was successful; false otherwise. + + + + Tests whether a value is one that might be found in this collection. + + The value to test. + true if this value might appear in the collection. + + This implementation comes from . + + + + + Creates a wrapping collection type around a root node. + + The root node to wrap. + A wrapping collection type for the new tree. + + + + Creates an immutable list with the contents from a sequence of elements. + + The sequence of elements from which to create the list. + The immutable list. + + + + Enumerates the contents of a binary tree. + + + This struct can and should be kept in exact sync with the other binary tree enumerators: + , , and . + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + The resource pool of reusable mutable stacks for purposes of enumeration. + + + We utilize this resource pool to make "allocation free" enumeration achievable. + + + + + The builder being enumerated, if applicable. + + + + + A unique ID for this instance of this enumerator. + Used to protect pooled objects from use after they are recycled. + + + + + The starting index of the collection at which to begin enumeration. + + + + + The number of elements to include in the enumeration. + + + + + The number of elements left in the enumeration. + + + + + A value indicating whether this enumerator walks in reverse order. + + + + + The set being enumerated. + + + + + The stack to use for enumerating the binary tree. + + + + + The node currently selected. + + + + + The version of the builder (when applicable) that is being enumerated. + + + + + Initializes an structure. + + The root of the set to be enumerated. + The builder, if applicable. + The index of the first element to enumerate. + The number of elements in this collection. + true if the list should be enumerated in reverse order. + + + + + + + The current element. + + + + + The current element. + + + + + Disposes of this enumerator and returns the stack reference to the resource pool. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + Restarts enumeration. + + + + Resets the stack used for enumeration. + + + + Obtains the right branch of the given node (or the left, if walking in reverse). + + + + + Obtains the left branch of the given node (or the right, if walking in reverse). + + + + + Throws an if this enumerator has been disposed. + + + + + Throws an exception if the underlying builder's contents have been changed since enumeration started. + + Thrown if the collection has changed. + + + + Pushes this node and all its Left descendants onto the stack. + + The starting node to push onto the stack. + + + + A node in the AVL tree storing this set. + + + + + The default empty node. + + + + + The key associated with this node. + + + + + A value indicating whether this node has been frozen (made immutable). + + + Nodes must be frozen before ever being observed by a wrapping collection type + to protect collections from further mutations. + + + + + The depth of the tree beneath this node. + + + + + The number of elements contained by this subtree starting at this node. + + + If this node would benefit from saving 4 bytes, we could have only a few nodes + scattered throughout the graph actually record the count of nodes beneath them. + Those without the count could query their descendants, which would often short-circuit + when they hit a node that *does* include a count field. + + + + + The left tree. + + + + + The right tree. + + + + + Initializes a new instance of the class + that is pre-frozen. + + + + + Initializes a new instance of the class + that is not yet frozen. + + The value stored by this node. + The left branch. + The right branch. + Whether this node is prefrozen. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the height of the tree beneath this node. + + + + + Gets the left branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the value represented by the current node. + + + + + Gets the number of elements contained by this subtree starting at this node. + + + + + Gets the key. + + + + + Gets the element of the set at the given index. + + The 0-based index of the element in the set to return. + The element at the given position. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + The builder, if applicable. + + A that can be used to iterate through the collection. + + + + + Creates a node tree that contains the contents of a list. + + An indexable list with the contents that the new node tree should contain. + The starting index within that should be captured by the node tree. + The number of elements from that should be captured by the node tree. + The root of the created node tree. + + + + Adds the specified key to the tree. + + The key. + The new tree. + + + + Adds a value at a given index to this node. + + The location for the new value. + The value to add. + The new tree. + + + + Adds the specified keys to the tree. + + The keys. + The new tree. + + + + Adds a collection of values at a given index to this node. + + The location for the new values. + The values to add. + The new tree. + + + + Removes a value at a given index to this node. + + The location for the new value. + The new tree. + + + + Removes all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to remove. + + + The new node tree. + + + + + Replaces a value at a given index. + + The location for the new value. + The new value for the node. + The new tree. + + + + Reverses the order of the elements in the entire . + + The reversed list. + + + + Reverses the order of the elements in the specified range. + + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + The reversed list. + + + + Sorts the elements in the entire using + the default comparer. + + + + + Sorts the elements in the entire using + the specified . + + + The to use when comparing elements. + + The sorted list. + + + + Sorts the elements in the entire using + the specified comparer. + + + The implementation to use when comparing + elements, or null to use the default comparer . + + The sorted list. + + + + Sorts the elements in a range of elements in + using the specified comparer. + + + The zero-based starting index of the range to sort. + + + The length of the range to sort. + + + The implementation to use when comparing + elements, or null to use the default comparer . + + The sorted list. + + + + Searches a range of elements in the sorted + for an element using the specified comparer and returns the zero-based index + of the element. + + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + + The implementation to use when comparing + elements, or null to use the default comparer . + + + The zero-based index of item in the sorted , + if item is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than item or, if there is + no larger element, the bitwise complement of . + + + is less than 0.-or- is less than 0. + + + and do not denote a valid range in the . + + + is null, and the default comparer + cannot find an implementation of the generic interface + or the interface for type . + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the . The value + can be null for reference types. + + The equality comparer to use for testing the match of two elements. + + The zero-based index of the first occurrence of within the entire + , if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + first occurrence within the range of elements in the + that starts at the specified index and contains the specified number of elements. + + + The object to locate in the . The value + can be null for reference types. + + + The zero-based starting index of the search. 0 (zero) is valid in an empty + list. + + + The number of elements in the section to search. + + + The equality comparer to use in the search. + If null, is used. + + + The zero-based index of the first occurrence of within the range of + elements in the that starts at and + contains number of elements, if found; otherwise, -1. + + + + + Searches for the specified object and returns the zero-based index of the + last occurrence within the range of elements in the + that contains the specified number of elements and ends at the specified + index. + + + The object to locate in the . The value + can be null for reference types. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + The equality comparer to use for testing the match of two elements. + + The zero-based index of the last occurrence of within the range of elements + in the that contains number of elements + and ends at , if found; otherwise, -1. + + + + + Copies the entire to a compatible one-dimensional + array, starting at the beginning of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + + + Copies the entire to a compatible one-dimensional + array, starting at the specified index of the target array. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + + The zero-based index in at which copying begins. + + + + + Copies a range of elements from the to + a compatible one-dimensional array, starting at the specified index of the + target array. + + + The zero-based index in the source at + which copying begins. + + + The one-dimensional that is the destination of the elements + copied from . The must have + zero-based indexing. + + The zero-based index in at which copying begins. + The number of elements to copy. + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Converts the elements in the current to + another type, and returns a list containing the converted elements. + + + A delegate that converts each element from + one type to another type. + + + The type of the elements of the target array. + + + A node tree with the transformed list. + + + + + Determines whether every element in the + matches the conditions defined by the specified predicate. + + + The delegate that defines the conditions to check against + the elements. + + + true if every element in the matches the + conditions defined by the specified predicate; otherwise, false. If the list + has no elements, the return value is true. + + + + + Determines whether the contains elements + that match the conditions defined by the specified predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + true if the contains one or more elements + that match the conditions defined by the specified predicate; otherwise, + false. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the first occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The first element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Retrieves all the elements that match the conditions defined by the specified + predicate. + + + The delegate that defines the conditions of the elements + to search for. + + + A containing all the elements that match + the conditions defined by the specified predicate, if found; otherwise, an + empty . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that extends + from the specified index to the last element. + + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the first occurrence within + the range of elements in the that starts + at the specified index and contains the specified number of elements. + + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + The zero-based index of the first occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the last occurrence within the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The last element that matches the conditions defined by the specified predicate, + if found; otherwise, the default value for type . + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the entire . + + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that extends + from the first element to the specified index. + + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element + to search for. + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Searches for an element that matches the conditions defined by the specified + predicate, and returns the zero-based index of the last occurrence within + the range of elements in the that contains + the specified number of elements and ends at the specified index. + + The zero-based starting index of the backward search. + The number of elements in the section to search. + + The delegate that defines the conditions of the element + to search for. + + + The zero-based index of the last occurrence of an element that matches the + conditions defined by , if found; otherwise, -1. + + + + + Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes. + + + + + AVL rotate left operation. + + The tree. + The rotated tree. + + + + AVL rotate right operation. + + The tree. + The rotated tree. + + + + AVL rotate double-left operation. + + The tree. + The rotated tree. + + + + AVL rotate double-right operation. + + The tree. + The rotated tree. + + + + Returns a value indicating whether the tree is in balance. + + The tree. + 0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy. + + + + Determines whether the specified tree is right heavy. + + The tree. + + true if [is right heavy] [the specified tree]; otherwise, false. + + + + + Determines whether the specified tree is left heavy. + + + + + Balances the specified tree. + + The tree. + A balanced tree. + + + + Balance the specified node. Allows for a large imbalance between left and + right nodes, but assumes left and right nodes are individually balanced. + + The node. + A balanced node + + + + Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node + with the described changes. + + The left branch of the mutated node. + The right branch of the mutated node. + The mutated (or created) node. + + + + Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node + with the described changes. + + The new value for this node. + The mutated (or created) node. + + + + A simple view of the immutable list that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The list to display in the debugger + + + + Gets a simple debugger-viewable list. + + + + + A simple view of the immutable list that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The list to display in the debugger + + + + Gets a simple debugger-viewable list. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Retrieves the item at the head of the queue, and returns a queue with the head element removed. + + The type of elements stored in the queue. + The queue to dequeue from. + Receives the value from the head of the queue. + The new queue with the head element removed. + Thrown when the stack is empty. + + + + An immutable queue. + + The type of elements stored in the queue. + + + + The singleton empty queue. + + + Additional instances representing the empty queue may exist on deserialized instances. + Actually since this queue is a struct, instances don't even apply and there are no singletons. + + + + + The end of the queue that enqueued elements are pushed onto. + + + + + The end of the queue from which elements are dequeued. + + + + + Backing field for the property. + + + + + Initializes a new instance of the class. + + The forward stack. + The backward stack. + + + + Gets the empty queue. + + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the empty queue. + + + + + Gets an empty queue. + + + + + Gets the reversed stack. + + + + + Gets the element at the front of the queue. + + Thrown when the queue is empty. + + + + Adds an element to the back of the queue. + + The value. + + The new queue. + + + + + Adds an element to the back of the queue. + + The value. + + The new queue. + + + + + Returns a queue that is missing the front element. + + A queue; never null. + Thrown when the queue is empty. + + + + Retrieves the item at the head of the queue, and returns a queue with the head element removed. + + Receives the value from the head of the queue. + The new queue with the head element removed. + Thrown when the queue is empty. + + + + Returns a queue that is missing the front element. + + A queue; never null. + Thrown when the queue is empty. + + + + Returns an enumerator that iterates through the collection. + + + An that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + A memory allocation-free enumerator of . + + + + + The original queue being enumerated. + + + + + The remaining forwards stack of the queue being enumerated. + + + + + The remaining backwards stack of the queue being enumerated. + Its order is reversed when the field is first initialized. + + + + + Initializes a new instance of the struct. + + The queue to enumerate. + + + + The current element. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + A memory allocation-free enumerator of . + + + + + The original queue being enumerated. + + + + + The remaining forwards stack of the queue being enumerated. + + + + + The remaining backwards stack of the queue being enumerated. + Its order is reversed when the field is first initialized. + + + + + A value indicating whether this enumerator has been disposed. + + + + + Initializes a new instance of the struct. + + The queue to enumerate. + + + + The current element. + + + + + The current element. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + Restarts enumeration. + + + + + Disposes this instance. + + + + + Throws an if this + enumerator has already been disposed. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection. + + + + Returns an empty collection. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The immutable collection. + + + + Returns an empty collection. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + The immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable sorted dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection builder. + + + + Creates a new immutable sorted dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The immutable collection builder. + + + + Creates a new immutable sorted dictionary builder. + + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The key comparer. + The value comparer. + The immutable collection builder. + + + + Constructs an immutable sorted dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The key comparer to use for the map. + The value comparer to use for the map. + The immutable map. + + + + Constructs an immutable sorted dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The key comparer to use for the map. + The immutable map. + + + + Constructs an immutable sorted dictionary based on some transformation of a sequence. + + The type of element in the sequence. + The type of key in the resulting map. + The type of value in the resulting map. + The sequence to enumerate to generate the map. + The function that will produce the key for the map from each sequence element. + The function that will produce the value for the map from each sequence element. + The immutable map. + + + + Creates an immutable sorted dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + The key comparer to use when building the immutable map. + The value comparer to use for the immutable map. + An immutable map. + + + + Creates an immutable sorted dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + The key comparer to use when building the immutable map. + An immutable map. + + + + Creates an immutable sorted dictionary given a sequence of key=value pairs. + + The type of key in the map. + The type of value in the map. + The sequence of key=value pairs. + An immutable map. + + + + Contains the inner class. + + + An immutable sorted dictionary implementation. + + The type of the key. + The type of the value. + + + + A sorted dictionary that mutates with little or no memory allocations, + can produce and/or build on immutable sorted dictionary instances very efficiently. + + + + This class allows multiple combinations of changes to be made to a set with equal efficiency. + + + Instance members of this class are not thread-safe. + + + + + + The binary tree used to store the contents of the map. Contents are typically not entirely frozen. + + + + + The key comparer. + + + + + The value comparer. + + + + + The number of entries in the map. + + + + + Caches an immutable instance that represents the current state of the collection. + + Null if no immutable view has been created for the current version. + + + + A number that increments every time the builder changes its contents. + + + + + The object callers may use to synchronize access to this collection. + + + + + Initializes a new instance of the class. + + A map to act as the basis for a new map. + + + + See + + + + + See + + + + + See + + + + + See + + + + + Gets the number of elements in this map. + + + + + Gets a value indicating whether this instance is read-only. + + Always false. + + + + Gets the current version of the contents of this builder. + + + + + Gets or sets the root node that represents the data in this collection. + + + + + Gets or sets the value for a given key. + + The key. + The value associated with the given key. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Gets an containing the keys of the . + + + An containing the keys of the object that implements . + + + + + Gets an containing the values in the . + + + An containing the values in the object that implements . + + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets or sets the key comparer. + + + The key comparer. + + + + + Gets or sets the value comparer. + + + The value comparer. + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Gets or sets the element with the specified key. + + The key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + See + + + + + See + + + + + See + + + + + See + + + + + See the interface. + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + + true if the contains + an element with the specified value; otherwise, false. + + + + + Removes any entries from the dictionaries with keys that match those found in the specified sequence. + + The keys for entries to remove from the dictionary. + + + + Removes any entries from the dictionaries with keys that match those found in the specified sequence. + + The keys for entries to remove from the dictionary. + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The key to search for. + The value for the key, or the default value for type if no matching key was found. + + + + Gets the value for a given key if a matching key exists in the dictionary. + + The key to search for. + The default value to return if no matching key is found in the dictionary. + + The value for the key, or if no matching key was found. + + + + + Creates an immutable sorted dictionary based on the contents of this instance. + + An immutable map. + + This method is an O(n) operation, and approaches O(1) time as the number of + actual mutations to the set since the last call to this method approaches 0. + + + + + An empty sorted dictionary with default sort and equality comparers. + + + + + The root node of the AVL tree that stores this map. + + + + + The number of elements in the set. + + + + + The comparer used to sort keys in this map. + + + + + The comparer used to detect equivalent values in this map. + + + + + Initializes a new instance of the class. + + The key comparer. + The value comparer. + + + + Initializes a new instance of the class. + + The root of the tree containing the contents of the map. + The number of elements in this map. + The key comparer. + The value comparer. + + + + See the interface. + + + + + Gets the value comparer used to determine whether values are equal. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Gets the keys. + + + + + Gets the values. + + + + + See the interface. + + + + + Gets the root node (for testing purposes). + + + + + Gets the with the specified key. + + + + + Gets or sets the with the specified key. + + + + + Creates a collection with the same contents as this collection that + can be efficiently mutated across multiple operations using standard + mutable interfaces. + + + This is an O(1) operation and results in only a single (small) memory allocation. + The mutable collection that is returned is *not* thread-safe. + + + + + See the interface. + + + + + See the interface. + + + + + Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + + The key=value pairs to set on the map. Any keys that conflict with existing keys will overwrite the previous values. + An immutable dictionary. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + + true if the contains + an element with the specified value; otherwise, false. + + + + + See the interface. + + + + + See the interface. + + + + + Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + + The key=value pairs to set on the map. Any keys that conflict with existing keys will overwrite the previous values. + An immutable dictionary. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Adds an element with the provided key and value to the . + + The object to use as the key of the element to add. + The object to use as the value of the element to add. + is null. + + + An element with the same key already exists in the . + + + The is read-only. + + + + + Removes the element with the specified key from the . + + The key of the element to remove. + + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original . + + is null. + + + The is read-only. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + Gets an containing the keys of the . + + + An containing the keys of the object that implements . + + + + + Gets an containing the values in the . + + + An containing the values in the object that implements . + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + + + Returns an object for the object. + + + An object for the object. + + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + + + Gets or sets the element with the specified key. + + The key. + + + + + Clears this instance. + + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Creates a new sorted set wrapper for a node tree. + + The root of the collection. + The number of elements in the map. + The key comparer to use for the map. + The value comparer to use for the map. + The immutable sorted set instance. + + + + Attempts to discover an instance beneath some enumerable sequence + if one exists. + + The sequence that may have come from an immutable map. + Receives the concrete typed value if one can be found. + true if the cast was successful; false otherwise. + + + + Bulk adds entries to the map. + + The entries to add. + true to allow the sequence to include duplicate keys and let the last one win; false to throw on collisions. + true when being called from to avoid . + + + + Creates a wrapping collection type around a root node. + + The root node to wrap. + The number of elements in the new tree, assuming it's different from the current tree. + A wrapping collection type for the new tree. + + + + Efficiently creates a new collection based on the contents of some sequence. + + + + + Enumerates the contents of a binary tree. + + + This struct can and should be kept in exact sync with the other binary tree enumerators: + , , and . + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + The resource pool of reusable mutable stacks for purposes of enumeration. + + + We utilize this resource pool to make "allocation free" enumeration achievable. + + + + + The builder being enumerated, if applicable. + + + + + A unique ID for this instance of this enumerator. + Used to protect pooled objects from use after they are recycled. + + + + + The set being enumerated. + + + + + The stack to use for enumerating the binary tree. + + + + + The node currently selected. + + + + + The version of the builder (when applicable) that is being enumerated. + + + + + Initializes an structure. + + The root of the set to be enumerated. + The builder, if applicable. + + + + The current element. + + + + + + + + The current element. + + + + + Disposes of this enumerator and returns the stack reference to the resource pool. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + Restarts enumeration. + + + + + Throws an if this enumerator has been disposed. + + + + + Throws an exception if the underlying builder's contents have been changed since enumeration started. + + Thrown if the collection has changed. + + + + Pushes this node and all its Left descendants onto the stack. + + The starting node to push onto the stack. + + + + A node in the AVL tree storing this map. + + + + + The default empty node. + + + + + The key associated with this node. + + + + + The value associated with this node. + + + Sadly this field could be readonly but doing so breaks serialization due to bug: + http://connect.microsoft.com/VisualStudio/feedback/details/312970/weird-argumentexception-when-deserializing-field-in-typedreferences-cannot-be-static-or-init-only + + + + + A value indicating whether this node has been frozen (made immutable). + + + Nodes must be frozen before ever being observed by a wrapping collection type + to protect collections from further mutations. + + + + + The depth of the tree beneath this node. + + + + + The left tree. + + + + + The right tree. + + + + + Initializes a new instance of the class + that is pre-frozen. + + + + + Initializes a new instance of the class + that is not yet frozen. + + The key. + The value. + The left. + The right. + Whether this node is prefrozen. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the height of the tree beneath this node. + + + + + Gets the left branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the value represented by the current node. + + + + + Gets the number of elements contained by this node and below. + + + + + Gets the keys. + + + + + Gets the values. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + The builder, if applicable. + + A that can be used to iterate through the collection. + + + + + See + + + + + See + + + + + Creates a node tree from an existing (mutable) collection. + + The collection. + The root of the node tree. + + + + Adds the specified key. + + The key. + The value. + The key comparer. + The value comparer. + Receives a value indicating whether this node tree has mutated because of this operation. + + + + Adds the specified key. + + The key. + The value. + The key comparer. + The value comparer. + Receives a value indicating whether an existing value was replaced. + Receives a value indicating whether this node tree has mutated because of this operation. + + + + Removes the specified key. + + The key. + The key comparer. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Gets the value or default. + + The key. + The key comparer. + The value. + + + + Tries to get the value. + + The key. + The key comparer. + The value. + True if the key was found. + + + + Searches the dictionary for a given key and returns the equal key it finds, if any. + + The key to search for. + The key comparer. + The key from the dictionary that the search found, or if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + the canonical value, or a value that has more complete data than the value you currently have, + although their comparer functions indicate they are equal. + + + + + Determines whether the specified key contains key. + + The key. + The key comparer. + + true if the specified key contains key; otherwise, false. + + + + + Determines whether the + contains an element with the specified value. + + + The value to locate in the . + The value can be null for reference types. + + The value comparer to use. + + true if the contains + an element with the specified value; otherwise, false. + + + + + Determines whether [contains] [the specified pair]. + + The pair. + The key comparer. + The value comparer. + + true if [contains] [the specified pair]; otherwise, false. + + + + + Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes. + + + + + AVL rotate left operation. + + The tree. + The rotated tree. + + + + AVL rotate right operation. + + The tree. + The rotated tree. + + + + AVL rotate double-left operation. + + The tree. + The rotated tree. + + + + AVL rotate double-right operation. + + The tree. + The rotated tree. + + + + Returns a value indicating whether the tree is in balance. + + The tree. + 0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy. + + + + Determines whether the specified tree is right heavy. + + The tree. + + true if [is right heavy] [the specified tree]; otherwise, false. + + + + + Determines whether the specified tree is left heavy. + + + + + Balances the specified tree. + + The tree. + A balanced tree. + + + + Creates a node tree that contains the contents of a list. + + An indexable list with the contents that the new node tree should contain. + The starting index within that should be captured by the node tree. + The number of elements from that should be captured by the node tree. + The root of the created node tree. + + + + Adds the specified key. Callers are expected to have validated arguments. + + The key. + The value. + The key comparer. + The value comparer. + if true, an existing key=value pair will be overwritten with the new one. + Receives a value indicating whether an existing value was replaced. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Removes the specified key. Callers are expected to validate arguments. + + The key. + The key comparer. + Receives a value indicating whether this node tree has mutated because of this operation. + The new AVL tree. + + + + Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node + with the described changes. + + The left branch of the mutated node. + The right branch of the mutated node. + The mutated (or created) node. + + + + Searches the specified key. Callers are expected to validate arguments. + + The key. + The key comparer. + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Returns an empty collection. + + The type of items stored by the collection. + The comparer. + + The immutable collection. + + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The comparer. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The comparer. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The comparer. + The items to prepopulate. + The new immutable collection. + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Returns an empty collection. + + The type of items stored by the collection. + The comparer. + + The immutable collection. + + + + + Enumerates a sequence exactly once and produces an immutable set of its contents. + + The type of element in the sequence. + The sequence to enumerate. + The comparer to use for initializing and adding members to the sorted set. + An immutable set. + + + + Enumerates a sequence exactly once and produces an immutable set of its contents. + + The type of element in the sequence. + The sequence to enumerate. + An immutable set. + + + + Contains the inner class. + + + An immutable sorted set implementation. + + The type of elements in the set. + + We implement because it adds an ordinal indexer. + We implement because it gives us , which is important for some folks. + + + + + A sorted set that mutates with little or no memory allocations, + can produce and/or build on immutable sorted set instances very efficiently. + + + + While and other bulk change methods + already provide fast bulk change operations on the collection, this class allows + multiple combinations of changes to be made to a set with equal efficiency. + + + Instance members of this class are not thread-safe. + + + + + + The root of the binary tree that stores the collection. Contents are typically not entirely frozen. + + + + + The comparer to use for sorting the set. + + + + + Caches an immutable instance that represents the current state of the collection. + + Null if no immutable view has been created for the current version. + + + + A number that increments every time the builder changes its contents. + + + + + The object callers may use to synchronize access to this collection. + + + + + Initializes a new instance of the class. + + A set to act as the basis for a new set. + + + + Gets the number of elements in this set. + + + + + Gets a value indicating whether this instance is read-only. + + Always false. + + + + Gets the element of the set at the given index. + + The 0-based index of the element in the set to return. + The element at the given position. + + No index setter is offered because the element being replaced may not sort + to the same position in the sorted collection as the replacing element. + + + + + Gets the maximum value in the collection, as defined by the comparer. + + The maximum value in the set. + + + + Gets the minimum value in the collection, as defined by the comparer. + + The minimum value in the set. + + + + Gets or sets the object that is used to determine equality for the values in the . + + The comparer that is used to determine equality for the values in the set. + + When changing the comparer in such a way as would introduce collisions, the conflicting elements are dropped, + leaving only one of each matching pair in the collection. + + + + + Gets the current version of the contents of this builder. + + + + + Gets or sets the root node that represents the data in this collection. + + + + + Adds an element to the current set and returns a value to indicate if the + element was successfully added. + + The element to add to the set. + true if the element is added to the set; false if the element is already in the set. + + + + Removes all elements in the specified collection from the current set. + + The collection of items to remove from the set. + + + + Modifies the current set so that it contains only elements that are also in a specified collection. + + The collection to compare to the current set. + + + + Determines whether the current set is a proper (strict) subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct subset of other; otherwise, false. + + + + Determines whether the current set is a proper (strict) superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set is a subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a subset of other; otherwise, false. + + + + Determines whether the current set is a superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set overlaps with the specified collection. + + The collection to compare to the current set. + true if the current set and other share at least one common element; otherwise, false. + + + + Determines whether the current set and the specified collection contain the same elements. + + The collection to compare to the current set. + true if the current set is equal to other; otherwise, false. + + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + + The collection to compare to the current set. + + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + + The collection to compare to the current set. + + + + Adds an element to the current set and returns a value to indicate if the + element was successfully added. + + The element to add to the set. + + + + Removes all elements from this set. + + + + + Determines whether the set contains a specific value. + + The object to locate in the set. + true if item is found in the set; false otherwise. + + + + See + + + + + Removes the first occurrence of a specific object from the set. + + The object to remove from the set. + true if the item was removed from the set; false if the item was not found in the set. + + + + Returns an enumerator that iterates through the collection. + + A enumerator that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the collection. + + A enumerator that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the collection. + + A enumerator that can be used to iterate through the collection. + + + + Returns an that iterates over this + collection in reverse order. + + + An enumerator that iterates over the + in reverse order. + + + + + Creates an immutable sorted set based on the contents of this instance. + + An immutable set. + + This method is an O(n) operation, and approaches O(1) time as the number of + actual mutations to the set since the last call to this method approaches 0. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + This is the factor between the small collection's size and the large collection's size in a bulk operation, + under which recreating the entire collection using a fast method rather than some incremental update + (that requires tree rebalancing) is preferable. + + + + + An empty sorted set with the default sort comparer. + + + + + The root node of the AVL tree that stores this set. + + + + + The comparer used to sort elements in this set. + + + + + Initializes a new instance of the class. + + The comparer. + + + + Initializes a new instance of the class. + + The root of the AVL tree with the contents of this set. + The comparer. + + + + See the interface. + + + + + Gets the maximum value in the collection, as defined by the comparer. + + The maximum value in the set. + + + + Gets the minimum value in the collection, as defined by the comparer. + + The minimum value in the set. + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Gets the root node (for testing purposes). + + + + + Gets the element of the set at the given index. + + The 0-based index of the element in the set to return. + The element at the given position. + + + + Creates a collection with the same contents as this collection that + can be efficiently mutated across multiple operations using standard + mutable interfaces. + + + This is an O(1) operation and results in only a single (small) memory allocation. + The mutable collection that is returned is *not* thread-safe. + + + + + See the interface. + + + + + See the interface. + + + + + Searches the set for a given value and returns the equal value it finds, if any. + + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + This can be useful when you want to reuse a previously stored reference instead of + a newly constructed one (so that more sharing of references can occur) or to look up + a value that has more complete data than the value you currently have, although their + comparer functions indicate they are equal. + + + + + See the interface. + + + + + See the interface. + + + + + Produces a set that contains elements either in this set or a given sequence, but not both. + + The other sequence of items. + The new set. + + + + See the interface. + + + + + See the interface. + + + + + Checks whether a given sequence of items entirely describe the contents of this set. + + The sequence of items to check against this set. + A value indicating whether the sets are equal. + + + + Determines whether the current set is a property (strict) subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct subset of other; otherwise, false. + + + + Determines whether the current set is a correct superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a correct superset of other; otherwise, false. + + + + Determines whether a set is a subset of a specified collection. + + The collection to compare to the current set. + true if the current set is a subset of other; otherwise, false. + + + + Determines whether the current set is a superset of a specified collection. + + The collection to compare to the current set. + true if the current set is a superset of other; otherwise, false. + + + + Determines whether the current set overlaps with the specified collection. + + The collection to compare to the current set. + true if the current set and other share at least one common element; otherwise, false. + + + + Returns an that iterates over this + collection in reverse order. + + + An enumerator that iterates over the + in reverse order. + + + + + Gets the position within this set that the specified value does or would appear. + + The value whose position is being sought. + + The index of the specified in the sorted set, + if is found. If is not + found and is less than one or more elements in this set, + a negative number which is the bitwise complement of the index of the first + element that is larger than value. If is not found + and is greater than any of the elements in the set, + a negative number which is the bitwise complement of (the index of the last + element plus 1). + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Produces a set that contains elements either in this set or a given sequence, but not both. + + The other sequence of items. + The new set. + + + + See the interface. + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + See the interface. + + + + + Gets a value indicating whether the has a fixed size. + + true if the has a fixed size; otherwise, false. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + + See . + + + + + See the interface. + + + + + Adds an item to the . + + The object to add to the . + + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, + + + + + + Clears this instance. + + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if the is found in the ; otherwise, false. + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + + + + Removes at. + + The index. + + + + + Gets or sets the at the specified index. + + + The . + + The index. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + Discovers an immutable sorted set for a given value, if possible. + + + + + Creates a new sorted set wrapper for a node tree. + + The root of the collection. + The comparer used to build the tree. + The immutable sorted set instance. + + + + Adds items to this collection using the standard spine rewrite and tree rebalance technique. + + The items to add. + The new collection. + + This method is least demanding on memory, providing the great chance of memory reuse + and does not require allocating memory large enough to store all items contiguously. + It's performance is optimal for additions that do not significantly dwarf the existing + size of this collection. + + + + + Creates a wrapping collection type around a root node. + + The root node to wrap. + A wrapping collection type for the new tree. + + + + Creates an immutable sorted set with the contents from this collection and a sequence of elements. + + The sequence of elements to add to this set. + The immutable sorted set. + + + + Enumerates the contents of a binary tree. + + + This struct can and should be kept in exact sync with the other binary tree enumerators: + , , and . + + CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable + or by passing it to another method. When this enumerator is disposed of it returns a mutable reference type stack to a resource pool, + and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk + that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data + corruption and/or exceptions. + + + + + The resource pool of reusable mutable stacks for purposes of enumeration. + + + We utilize this resource pool to make "allocation free" enumeration achievable. + + + + + The builder being enumerated, if applicable. + + + + + A unique ID for this instance of this enumerator. + Used to protect pooled objects from use after they are recycled. + + + + + A flag indicating whether this enumerator works in reverse sort order. + + + + + The set being enumerated. + + + + + The stack to use for enumerating the binary tree. + + + We use as a wrapper to avoid paying the cost of covariant checks whenever + the underlying array that the class uses is written to. + We've recognized this as a perf win in ETL traces for these stack frames: + clr!JIT_Stelem_Ref + clr!ArrayStoreCheck + clr!ObjIsInstanceOf + + + + + The node currently selected. + + + + + The version of the builder (when applicable) that is being enumerated. + + + + + Initializes an structure. + + The root of the set to be enumerated. + The builder, if applicable. + true to enumerate the collection in reverse. + + + + + + + The current element. + + + + + The current element. + + + + + Disposes of this enumerator and returns the stack reference to the resource pool. + + + + + Advances enumeration to the next element. + + A value indicating whether there is another element in the enumeration. + + + + Restarts enumeration. + + + + + Throws an if this enumerator has been disposed. + + + + + Throws an exception if the underlying builder's contents have been changed since enumeration started. + + Thrown if the collection has changed. + + + + Pushes this node and all its Left (or Right, if reversed) descendants onto the stack. + + The starting node to push onto the stack. + + + + An reverse enumerable of a sorted set. + + + + + The root node to enumerate. + + + + + Initializes a new instance of the class. + + The root of the data structure to reverse enumerate. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + A node in the AVL tree storing this set. + + + + + The default empty node. + + + + + The key associated with this node. + + + + + A value indicating whether this node has been frozen (made immutable). + + + Nodes must be frozen before ever being observed by a wrapping collection type + to protect collections from further mutations. + + + + + The depth of the tree beneath this node. + + + + + The number of elements contained by this subtree starting at this node. + + + If this node would benefit from saving 4 bytes, we could have only a few nodes + scattered throughout the graph actually record the count of nodes beneath them. + Those without the count could query their descendants, which would often short-circuit + when they hit a node that *does* include a count field. + + + + + The left tree. + + + + + The right tree. + + + + + Initializes a new instance of the class + that is pre-frozen. + + + + + Initializes a new instance of the class + that is not yet frozen. + + The value stored by this node. + The left branch. + The right branch. + Whether this node is prefrozen. + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the height of the tree beneath this node. + + + + + Gets the left branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the left branch of this node. + + + + + Gets the right branch of this node. + + + + + Gets the value represented by the current node. + + + + + Gets the number of elements contained by this subtree starting at this node. + + + + + Gets the key. + + + + + Gets the maximum value in the collection, as defined by the comparer. + + The maximum value in the set. + + + + Gets the minimum value in the collection, as defined by the comparer. + + The minimum value in the set. + + + + Gets the element of the set at the given index. + + The 0-based index of the element in the set to return. + The element at the given position. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + The builder, if applicable. + + A that can be used to iterate through the collection. + + + + + See the interface. + + + + + See the interface. + + + + + Adds the specified key to the tree. + + The key. + The comparer. + Receives a value indicating whether this node tree has mutated because of this operation. + The new tree. + + + + Removes the specified key from the tree. + + The key. + The comparer. + Receives a value indicating whether this node tree has mutated because of this operation. + The new tree. + + + + Determines whether the specified key is in this tree. + + The key. + The comparer. + + true if the tree contains the specified key; otherwise, false. + + + + + Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes. + + + + + Searches for the specified key. + + The key to search for. + The comparer. + The matching node, or if no match was found. + + + + Searches for the specified key. + + The key to search for. + The comparer. + The matching node, or if no match was found. + + + + Returns an that iterates over this + collection in reverse order. + + + An enumerator that iterates over the + in reverse order. + + + + + AVL rotate left operation. + + The tree. + The rotated tree. + + + + AVL rotate right operation. + + The tree. + The rotated tree. + + + + AVL rotate double-left operation. + + The tree. + The rotated tree. + + + + AVL rotate double-right operation. + + The tree. + The rotated tree. + + + + Returns a value indicating whether the tree is in balance. + + The tree. + 0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy. + + + + Determines whether the specified tree is right heavy. + + The tree. + + true if [is right heavy] [the specified tree]; otherwise, false. + + + + + Determines whether the specified tree is left heavy. + + + + + Balances the specified tree. + + The tree. + A balanced tree. + + + + Creates a node tree that contains the contents of a list. + + An indexable list with the contents that the new node tree should contain. + The starting index within that should be captured by the node tree. + The number of elements from that should be captured by the node tree. + The root of the created node tree. + + + + Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node + with the described changes. + + The left branch of the mutated node. + The right branch of the mutated node. + The mutated (or created) node. + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A set of initialization methods for instances of . + + + + + Returns an empty collection. + + The type of items stored by the collection. + The immutable collection. + + + + Creates a new immutable collection prefilled with the specified item. + + The type of items stored by the collection. + The item to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Creates a new immutable collection prefilled with the specified items. + + The type of items stored by the collection. + The items to prepopulate. + The new immutable collection. + + + + Pops the top element off the stack. + + The type of values contained in the stack. + The stack to modify. + The value that was removed from the stack. + + A stack; never null + + Thrown when the stack is empty. + + + + An immutable stack. + + The type of element stored by the stack. + + + + The singleton empty stack. + + + Additional instances representing the empty stack may exist on deserialized stacks. + + + + + The element on the top of the stack. + + + + + A stack that contains the rest of the elements (under the top element). + + + + + Initializes a new instance of the class + that acts as the empty stack. + + + + + Initializes a new instance of the class. + + The head element on the stack. + The rest of the elements on the stack. + + + + Gets the empty stack, upon which all stacks are built. + + + + + Gets the empty stack, upon which all stacks are built. + + + + + Gets an empty stack. + + + + + Gets a value indicating whether this instance is empty. + + + true if this instance is empty; otherwise, false. + + + + + Gets the element on the top of the stack. + + + The element on the top of the stack. + + Thrown when the stack is empty. + + + + Pushes an element onto a stack and returns the new stack. + + The element to push onto the stack. + The new stack. + + + + Pushes an element onto a stack and returns the new stack. + + The element to push onto the stack. + The new stack. + + + + Returns a stack that lacks the top element on this stack. + + A stack; never null + Thrown when the stack is empty. + + + + Pops the top element off the stack. + + The value that was removed from the stack. + + A stack; never null + + + + + Returns a stack that lacks the top element on this stack. + + A stack; never null + Thrown when the stack is empty. + + + + Returns an enumerator that iterates through the collection. + + + An that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Reverses the order of a stack. + + The reversed stack. + + + + Enumerates a stack with no memory allocations. + + + + + The original stack being enumerated. + + + + + The remaining stack not yet enumerated. + + + + + Initializes a new instance of the struct. + + The stack to enumerator. + + + + Gets the current element. + + + + + Moves to the first or next element. + + A value indicating whether there are any more elements. + + + + Enumerates a stack with no memory allocations. + + + + + The original stack being enumerated. + + + + + The remaining stack not yet enumerated. + + + + + A flag indicating whether this enumerator has been disposed. + + + + + Initializes a new instance of the class. + + The stack to enumerator. + + + + Gets the current element. + + + + + Gets the current element. + + + + + Moves to the first or next element. + + A value indicating whether there are any more elements. + + + + Resets the position to just before the first element in the list. + + + + + Disposes this instance. + + + + + Throws an if this + enumerator has already been disposed. + + + + + A simple view of the immutable collection that the debugger can show to the developer. + + + + + The collection to be enumerated. + + + + + The simple view of the collection. + + + + + Initializes a new instance of the class. + + The collection to display in the debugger + + + + Gets a simple debugger-viewable collection. + + + + + A thin wrapper around the or enumerators so they look like a collection. + + The type of key in the dictionary. + The type of value in the dictionary. + Either TKey or TValue. + + + + The underlying wrapped dictionary. + + + + + The key or value enumerable that this instance wraps. + + + + + Initializes a new instance of the class. + + The dictionary to base on. + The keys or values enumeration to wrap as a collection. + + + + See + + + + + See + + The number of elements contained in the . + + + + Gets the wrapped dictionary. + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + See + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + A lightweight collection view over and IEnumerable of keys. + + + + + Initializes a new instance of the class. + + + + + See + + + + + A lightweight collection view over and IEnumerable of values. + + + + + Initializes a new instance of the class. + + + + + See + + + + + A simple struct we wrap reference types inside when storing in arrays to + bypass the CLR's covariant checks when writing to arrays. + + + We use as a wrapper to avoid paying the cost of covariant checks whenever + the underlying array that the class uses is written to. + We've recognized this as a perf win in ETL traces for these stack frames: + clr!JIT_Stelem_Ref + clr!ArrayStoreCheck + clr!ObjIsInstanceOf + + + + + Initializes a new instance of the struct. + + + + + The value. + + + + + Object pooling utilities. + + + + + The ever-incrementing (and wrap-on-overflow) integer for owner id's. + + + + + The ID reserved for unassigned objects. + + + + + Returns a new ID. + + + + + Gets or sets the current owner of this recyclable object. + + + + + Returns the recyclable value if it hasn't been reclaimed already. + + The type of renter of the object. + The renter of the object. + The rented object. + Thrown if is no longer the renter of the value. + + + + Common runtime checks that throw upon failure. + + + + + Throws an exception if the specified parameter's value is null. + + The type of the parameter. + The value of the argument. + The name of the parameter to include in any thrown exception. + Thrown if is null + + + + Throws an exception if the specified parameter's value is null. It passes through the specified value back as a return value. + + The type of the parameter. + The value of the argument. + The name of the parameter to include in any thrown exception. + The value of the parameter. + Thrown if is null + + + + Throws an exception if the specified parameter's value is null. + + The type of the parameter. + The value of the argument. + The name of the parameter to include in any thrown exception. + Thrown if is null + + This method exists for callers who themselves only know the type as a generic parameter which + may or may not be a class, but certainly cannot be null. + + + + + Throws an . + + The name of the parameter that was null. + + + + Throws an if a condition does not evaluate to true. + + + + + Throws an . + + + + + Throws an if a condition does not evaluate to true. + + + + + Throws an if a condition does not evaluate to true. + + + + + Throws an for a disposed object. + + Specifies the type of the disposed object. + The disposed object. + + + + Indicates to Code Analysis that a method validates a particular parameter. + + + + + LINQ extension method overrides that offer greater efficiency for than the standard LINQ methods + + + + + Projects each element of a sequence into a new form. + + The type of element contained by the collection. + The type of the result element. + The immutable array. + The selector. + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes a result + selector function on each element therein. + + The type of the elements of . + The type of the intermediate elements collected by . + The type of the elements of the resulting sequence. + The immutable array. + A transform function to apply to each element of the input sequence. + A transform function to apply to each element of the intermediate sequence. + + An whose elements are the result + of invoking the one-to-many transform function on each + element of and then mapping each of those sequence elements and their + corresponding source element to a result element. + + + + + Filters a sequence of values based on a predicate. + + The type of element contained by the collection. + + + + Gets a value indicating whether any elements are in this collection. + + The type of element contained by the collection. + + + + + Gets a value indicating whether any elements are in this collection + that match a given condition. + + The type of element contained by the collection. + + The predicate. + + + + Gets a value indicating whether all elements in this collection + match a given condition. + + The type of element contained by the collection. + + The predicate. + + true if every element of the source sequence passes the test in the specified predicate, or if the sequence is empty; otherwise, false. + + + + + Determines whether two sequences are equal according to an equality comparer. + + The type of element in the compared array. + The type of element contained by the collection. + + + + Determines whether two sequences are equal according to an equality comparer. + + The type of element in the compared array. + The type of element contained by the collection. + + + + Determines whether two sequences are equal according to an equality comparer. + + The type of element in the compared array. + The type of element contained by the collection. + + + + Applies an accumulator function over a sequence. + + The type of element contained by the collection. + + + + Applies an accumulator function over a sequence. + + The type of the accumulated value. + The type of element contained by the collection. + + + + Applies an accumulator function over a sequence. + + The type of the accumulated value. + The type of result returned by the result selector. + The type of element contained by the collection. + + + + Returns the element at a specified index in a sequence. + + The type of element contained by the collection. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of element contained by the collection. + + + + Returns the first element in a sequence that satisfies a specified condition. + + The type of element contained by the collection. + + + + Returns the first element in a sequence that satisfies a specified condition. + + The type of element contained by the collection. + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The type of element contained by the collection. + + + + + Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. + + The type of element contained by the collection. + + + + Returns the last element of a sequence. + + The type of element contained by the collection. + + + + + Returns the last element of a sequence that satisfies a specified condition. + + The type of element contained by the collection. + + + + Returns the last element of a sequence, or a default value if the sequence contains no elements. + + The type of element contained by the collection. + + + + + Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. + + The type of element contained by the collection. + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + The type of element contained by the collection. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + The type of element contained by the collection. + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + The type of element contained by the collection. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + The type of element contained by the collection. + + + + Creates a dictionary based on the contents of this array. + + The type of the key. + The type of element contained by the collection. + + The key selector. + The newly initialized dictionary. + + + + Creates a dictionary based on the contents of this array. + + The type of the key. + The type of the element. + The type of element contained by the collection. + + The key selector. + The element selector. + The newly initialized dictionary. + + + + Creates a dictionary based on the contents of this array. + + The type of the key. + The type of element contained by the collection. + + The key selector. + The comparer to initialize the dictionary with. + The newly initialized dictionary. + + + + Creates a dictionary based on the contents of this array. + + The type of the key. + The type of the element. + The type of element contained by the collection. + + The key selector. + The element selector. + The comparer to initialize the dictionary with. + The newly initialized dictionary. + + + + Copies the contents of this array to a mutable array. + + The type of element contained by the collection. + + The newly instantiated array. + + + + Returns the first element in the collection. + + Thrown if the collection is empty. + + + + Returns the first element in the collection, or the default value if the collection is empty. + + + + + Returns the last element in the collection. + + Thrown if the collection is empty. + + + + Returns the last element in the collection, or the default value if the collection is empty. + + + + + Returns a value indicating whether this collection contains any elements. + + + + Provides the core iterator implementation of . + + + diff --git a/bin/Release/System.Diagnostics.DiagnosticSource.dll b/bin/Release/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 0000000..50b6e40 Binary files /dev/null and b/bin/Release/System.Diagnostics.DiagnosticSource.dll differ diff --git a/bin/Release/System.Diagnostics.DiagnosticSource.xml b/bin/Release/System.Diagnostics.DiagnosticSource.xml new file mode 100644 index 0000000..4c1b10c --- /dev/null +++ b/bin/Release/System.Diagnostics.DiagnosticSource.xml @@ -0,0 +1,464 @@ + + + + System.Diagnostics.DiagnosticSource + + + + + This is the basic API to 'hook' parts of the framework. It is like an EventSource + (which can also write object), but is intended to log complex objects that can't be serialized. + + Please See the DiagnosticSource Users Guide + https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/DiagnosticSourceUsersGuide.md + for instructions on its use. + + + + + Write is a generic way of logging complex payloads. Each notification + is given a name, which identifies it as well as a object (typically an anonymous type) + that gives the information to pass to the notification, which is arbitrary. + + The name should be short (so don't use fully qualified names unless you have to + to avoid ambiguity), but you want the name to be globally unique. Typically your componentName.eventName + where componentName and eventName are strings less than 10 characters are a good compromise. + notification names should NOT have '.' in them because component names have dots and for them both + to have dots would lead to ambiguity. The suggestion is to use _ instead. It is assumed + that listeners will use string prefixing to filter groups, thus having hierarchy in component + names is good. + + The name of the event being written. + An object that represent the value being passed as a payload for the event. + This is often a anonymous type which contains several sub-values. + + + + Optional: if there is expensive setup for the notification, you can call IsEnabled + before doing this setup. Consumers should not be assuming that they only get notifications + for which IsEnabled is true however, it is optional for producers to call this API. + The name should be the same as what is passed to Write. + + The name of the event being written. + + + + A DiagnosticListener is something that forwards on events written with DiagnosticSource. + It is an IObservable (has Subscribe method), and it also has a Subscribe overload that + lets you specify a 'IsEnabled' predicate that users of DiagnosticSource will use for + 'quick checks'. + + The item in the stream is a KeyValuePair[string, object] where the string is the name + of the diagnostic item and the object is the payload (typically an anonymous type). + + There may be many DiagnosticListeners in the system, but we encourage the use of + The DiagnosticSource.DefaultSource which goes to the DiagnosticListener.DefaultListener. + + If you need to see 'everything' you can subscribe to the 'AllListeners' event that + will fire for every live DiagnosticListener in the appdomain (past or present). + + Please See the DiagnosticSource Users Guide + https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/DiagnosticSourceUsersGuide.md + for instructions on its use. + + + + + When you subscribe to this you get callbacks for all NotificationListeners in the appdomain + as well as those that occurred in the past, and all future Listeners created in the future. + + + + + Add a subscriber (Observer). If 'IsEnabled' == null (or not present), then the Source's IsEnabled + will always return true. + + + + + Same as other Subscribe overload where the predicate is assumed to always return true. + + + + + Make a new DiagnosticListener, it is a NotificationSource, which means the returned result can be used to + log notifications, but it also has a Subscribe method so notifications can be forwarded + arbitrarily. Thus its job is to forward things from the producer to all the listeners + (multi-casting). Generally you should not be making your own DiagnosticListener but use the + DiagnosticListener.Default, so that notifications are as 'public' as possible. + + + + + Clean up the NotificationListeners. Notification listeners do NOT DIE ON THEIR OWN + because they are in a global list (for discoverability). You must dispose them explicitly. + Note that we do not do the Dispose(bool) pattern because we frankly don't want to support + subclasses that have non-managed state. + + + + + When a DiagnosticListener is created it is given a name. Return this. + + + + + Return the name for the ToString() to aid in debugging. + + + + + + Override abstract method + + + + + Override abstract method + + + + + Logically AllListenerObservable has a very simple task. It has a linked list of subscribers that want + a callback when a new listener gets created. When a new DiagnosticListener gets created it should call + OnNewDiagnosticListener so that AllListenerObservable can forward it on to all the subscribers. + + + + + Called when a new DiagnosticListener gets created to tell anyone who subscribed that this happened. + + + + + + Remove 'subscription from the list of subscriptions that the observable has. Called when + subscriptions are disposed. Returns true if the subscription was removed. + + + + + One node in the linked list of subscriptions that AllListenerObservable keeps. It is + IDisposable, and when that is called it removes itself from the list. + + + + + DiagnosticSourceEventSource serves two purposes + + 1) It allows debuggers to inject code via Function evaluation. This is the purpose of the + BreakPointWithDebuggerFuncEval function in the 'OnEventCommand' method. Basically even in + release code, debuggers can place a breakpoint in this method and then trigger the + DiagnosticSourceEventSource via ETW. Thus from outside the process you can get a hook that + is guaranteed to happen BEFORE any DiangosticSource events (if the process is just starting) + or as soon as possible afterward if it is on attach. + + 2) It provides a 'bridge' that allows DiagnosticSource messages to be forwarded to EventListers + or ETW. You can do this by enabling the Microsoft-Diagnostics-DiagnosticSource with the + 'Events' keyword (for diagnostics purposes, you should also turn on the 'Messages' keyword. + + This EventSource defines a EventSource argument called 'FilterAndPayloadSpecs' that defines + what DiagnsoticSources to enable and what parts of the payload to serialize into the key-value + list that will be forwarded to the EventSource. If it is empty, all serializable parts of + every DiagnosticSource event will be forwarded (this is NOT recommended for monitoring but + can be useful for discovery). + + The FilterAndPayloadSpecs is one long string with the following structures + + * It is a newline separated list of FILTER_AND_PAYLOAD_SPEC + * a FILTER_AND_PAYLOAD_SPEC can be + * EVENT_NAME : TRANSFORM_SPECS + * EMPTY - turns on all sources with implicit payload elements. + * an EVENTNAME can be + * DIAGNOSTIC_SOURCE_NAME / DIAGNOSTC_EVENT_NAME @ EVENT_SOURCE_EVENTNAME - give the name as well as the EventSource event to log it under. + * DIAGNOSTIC_SOURCE_NAME / DIAGNOSTC_EVENT_NAME + * DIAGNOSTIC_SOURCE_NAME - which wildcards every event in the Diagnostic source or + * EMPTY - which turns on all sources + * TRANSFORM_SPEC is a semicolon separated list of TRANSFORM_SPEC, which can be + * - TRANSFORM_SPEC - the '-' indicates that implicit payload elements should be suppressed + * VARIABLE_NAME = PROPERTY_SPEC - indicates that a payload element 'VARIABLE_NAME' is created from PROPERTY_SPEC + * PROPERTY_SPEC - This is a shortcut where VARIABLE_NAME is the LAST property name + * a PROPERTY_SPEC is basically a list of names separated by '.' + * PROPERTY_NAME - fetches a property from the DiagnosticSource payload object + * PROPERTY_NAME . PROPERTY NAME - fetches a sub-property of the object. + + Example1: + + "BridgeTestSource1/TestEvent1:cls_Point_X=cls.Point.X;cls_Point_Y=cls.Point.Y\r\n" + + "BridgeTestSource2/TestEvent2:-cls.Url" + + This indicates that two events should be turned on, The 'TestEvent1' event in BridgeTestSource1 and the + 'TestEvent2' in BridgeTestSource2. In the first case, because the transform did not begin with a - + any primitive type/string of 'TestEvent1's payload will be serialized into the output. In addition if + there a property of the payload object called 'cls' which in turn has a property 'Point' which in turn + has a property 'X' then that data is also put in the output with the name cls_Point_X. Similarly + if cls.Point.Y exists, then that value will also be put in the output with the name cls_Point_Y. + + For the 'BridgeTestSource2/TestEvent2' event, because the - was specified NO implicit fields will be + generated, but if there is a property call 'cls' which has a property 'Url' then that will be placed in + the output with the name 'Url' (since that was the last property name used and no Variable= clause was + specified. + + Example: + + "BridgeTestSource1\r\n" + + "BridgeTestSource2" + + This will enable all events for the BridgeTestSource1 and BridgeTestSource2 sources. Any string/primitive + properties of any of the events will be serialized into the output. + + Example: + + "" + + This turns on all DiagnosticSources Any string/primitive properties of any of the events will be serialized + into the output. This is not likely to be a good idea as it will be very verbose, but is useful to quickly + discover what is available. + + + * How data is logged in the EventSource + + By default all data from Diagnostic sources is logged to the the DiagnosticEventSouce event called 'Event' + which has three fields + + string SourceName, + string EventName, + IEnumerable[KeyValuePair[string, string]] Argument + + However to support start-stop activity tracking, there are six other events that can be used + + Activity1Start + Activity1Stop + Activity2Start + Activity2Stop + RecursiveActivity1Start + RecursiveActivity1Stop + + By using the SourceName/EventName@EventSourceName syntax, you can force particular DiagnosticSource events to + be logged with one of these EventSource events. This is useful because the events above have start-stop semantics + which means that they create activity IDs that are attached to all logging messages between the start and + the stop (see https://blogs.msdn.microsoft.com/vancem/2015/09/14/exploring-eventsource-activity-correlation-and-causation-features/) + + For example the specification + + "MyDiagnosticSource/RequestStart@Activity1Start\r\n" + + "MyDiagnosticSource/RequestStop@Activity1Stop\r\n" + + "MyDiagnosticSource/SecurityStart@Activity2Start\r\n" + + "MyDiagnosticSource/SecurityStop@Activity2Stop\r\n" + + Defines that RequestStart will be logged with the EventSource Event Activity1Start (and the cooresponding stop) which + means that all events caused between these two markers will have an activity ID assocatied with this start event. + Simmilarly SecurityStart is mapped to Activity2Start. + + Note you can map many DiangosticSource events to the same EventSource Event (e.g. Activity1Start). As long as the + activities don't nest, you can reuse the same event name (since the payloads have the DiagnosticSource name which can + disambiguate). However if they nest you need to use another EventSource event because the rules of EventSource + activities state that a start of the same event terminates any existing activity of the same name. + + As its name suggests RecursiveActivity1Start, is marked as recursive and thus can be used when the activity can nest with + itself. This should not be a 'top most' activity because it is not 'self healing' (if you miss a stop, then the + activity NEVER ends). + + See the DiagnosticSourceEventSourceBridgeTest.cs for more explicit examples of using this bridge. + + + + + Indicates diagnostics messages from DiagnosticSourceEventSource should be included. + + + + + Indicates that all events from all diagnostic sources should be forwarded to the EventSource using the 'Event' event. + + + + + Used to send ad-hoc diagnostics to humans. + + + + + Events from DiagnosticSource can be forwarded to EventSource using this event. + + + + + This is only used on V4.5 systems that don't have the ability to log KeyValuePairs directly. + It will eventually go away, but we should always reserve the ID for this. + + + + + Used to mark the beginning of an activity + + + + + Used to mark the end of an activity + + + + + Used to mark the beginning of an activity + + + + + Used to mark the end of an activity that can be recursive. + + + + + Used to mark the beginning of an activity + + + + + Used to mark the end of an activity that can be recursive. + + + + + Fires when a new DiagnosticSource becomes available. + + + + + + This constructor uses EventSourceSettings which is only available on V4.6 and above + systems. We use the EventSourceSettings to turn on support for complex types. + + + + + Called when the EventSource gets a command from a EventListener or ETW. + + + + + A function which is fully interruptible even in release code so we can stop here and + do function evaluation in the debugger. Thus this is just a place that is useful + for the debugger to place a breakpoint where it can inject code with function evaluation + + + + + FilterAndTransform represents on transformation specification from a DiagnosticsSource + to EventSource's 'Event' method. (e.g. MySource/MyEvent:out=prop1.prop2.prop3). + Its main method is 'Morph' which takes a DiagnosticSource object and morphs it into + a list of string,string key value pairs. + + This method also contains that static 'Create/Destroy FilterAndTransformList, which + simply parse a series of transformation specifications. + + + + + Parses filterAndPayloadSpecs which is a list of lines each of which has the from + + DiagnosticSourceName/EventName:PAYLOAD_SPEC + + where PAYLOADSPEC is a semicolon separated list of specifications of the form + + OutputName=Prop1.Prop2.PropN + + Into linked list of FilterAndTransform that together forward events from the given + DiagnosticSource's to 'eventSource'. Sets the 'specList' variable to this value + (destroying anything that was there previously). + + By default any serializable properties of the payload object are also included + in the output payload, however this feature and be tuned off by prefixing the + PAYLOADSPEC with a '-'. + + + + + This destroys (turns off) the FilterAndTransform stopping the forwarding started with CreateFilterAndTransformList + + + + + + Creates one FilterAndTransform specification from filterAndPayloadSpec starting at 'startIdx' and ending just before 'endIdx'. + This FilterAndTransform will subscribe to DiagnosticSources specified by the specification and forward them to 'eventSource. + For convenience, the 'Next' field is set to the 'next' parameter, so you can easily form linked lists. + + + + + Transform spec represents a string that describes how to extract a piece of data from + the DiagnosticSource payload. An example string is OUTSTR=EVENT_VALUE.PROP1.PROP2.PROP3 + It has a Next field so they can be chained together in a linked list. + + + + + parse the strings 'spec' from startIdx to endIdx (points just beyond the last considered char) + The syntax is ID1=ID2.ID3.ID4 .... Where ID1= is optional. + + + + + Given the DiagnosticSourcePayload 'obj', compute a key-value pair from it. For example + if the spec is OUTSTR=EVENT_VALUE.PROP1.PROP2.PROP3 and the ultimate value of PROP3 is + 10 then the return key value pair is KeyValuePair("OUTSTR","10") + + + + + A public field that can be used to form a linked list. + + + + + A PropertySpec represents information needed to fetch a property from + and efficiently. Thus it represents a '.PROP' in a TransformSpec + (and a transformSpec has a list of these). + + + + + Make a new PropertySpec for a property named 'propertyName'. + For convenience you can set he 'next' field to form a linked + list of PropertySpecs. + + + + + Given an object fetch the property that this PropertySpec represents. + + + + + A public field that can be used to form a linked list. + + + + + PropertyFetch is a helper class. It takes a PropertyInfo and then knows how + to efficiently fetch that property from a .NET object (See Fetch method). + It hides some slightly complex generic code. + + + + + Create a property fetcher from a .NET Reflection PropertyInfo class that + represents a property of a particular type. + + + + + Given an object, fetch the property that this propertyFech represents. + + + + + CallbackObserver is a adapter class that creates an observer (which you can pass + to IObservable.Subscribe), and calls the given callback every time the 'next' + operation on the IObserver happens. + + + + + diff --git a/bin/Release/System.Interactive.Async.dll b/bin/Release/System.Interactive.Async.dll new file mode 100644 index 0000000..b8e9024 Binary files /dev/null and b/bin/Release/System.Interactive.Async.dll differ diff --git a/bin/Release/System.Interactive.Async.xml b/bin/Release/System.Interactive.Async.xml new file mode 100644 index 0000000..efea755 --- /dev/null +++ b/bin/Release/System.Interactive.Async.xml @@ -0,0 +1,52 @@ + + + + System.Interactive.Async + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + + Asynchronous version of the IEnumerable<T> interface, allowing elements of the + enumerable sequence to be retrieved asynchronously. + + Element type. + + + + Gets an asynchronous enumerator over the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the IEnumerator<T> interface, allowing elements to be + retrieved asynchronously. + + Element type. + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + Cancellation token that can be used to cancel the operation. + + Task containing the result of the operation: true if the enumerator was successfully advanced + to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + diff --git a/bin/Release/System.Runtime.CompilerServices.Unsafe.dll b/bin/Release/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..6289656 Binary files /dev/null and b/bin/Release/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/bin/Release/System.Runtime.CompilerServices.Unsafe.xml b/bin/Release/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..f87e65d --- /dev/null +++ b/bin/Release/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,127 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + + Contains generic, low-level functionality for manipulating pointers. + + + + + Reads a value of type from the given location. + + The type to read. + The location to read from. + An object of type read from the given location. + + + + Writes a value of type to the given location. + + The type of value to write. + The location to write to. + The value to write. + + + + Copies a value of type to the given location. + + The type of value to copy. + The location to copy to. + A reference to the value to copy. + + + + Copies a value of type to the given location. + + The type of value to copy. + The location to copy to. + A pointer to the value to copy. + + + + Returns a pointer to the given by-ref parameter. + + The type of object. + The object whose pointer is obtained. + A pointer to the given value. + + + + Returns the size of an object of the given type parameter. + + The type of object whose size is retrieved. + The size of an object of type . + + + + Casts the given object to the specified type. + + The type which the object will be cast to. + The object to cast. + The original object, casted to the given type. + + + + Reinterprets the given location as a reference to a value of type . + + The type of the interpreted location. + The location of the value to reference. + A reference to a value of type . + + + + Reinterprets the given reference as a reference to a value of type . + + The type of reference to reinterpret. + The desired type of the reference. + The reference to reinterpret. + A reference to a value of type . + + + + Adds an element offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of offset to pointer. + + + + Subtracts an element offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of offset from pointer. + + + + Determines whether the specified references point to the same location. + + The first reference to compare. + The second reference to compare. + true if and point to the same location; otherwise false. + + + + Copies bytes from the source address to the destination address. + + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + + Initializes a block of memory at the given location with a given initial value. + + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + diff --git a/bin/Release/app.publish/Diplom B.exe b/bin/Release/app.publish/Diplom B.exe new file mode 100644 index 0000000..470e6d7 Binary files /dev/null and b/bin/Release/app.publish/Diplom B.exe differ diff --git a/bin/Release/schemaspy-6.1.0.jar b/bin/Release/schemaspy-6.1.0.jar new file mode 100644 index 0000000..2faadbe Binary files /dev/null and b/bin/Release/schemaspy-6.1.0.jar differ diff --git a/bin/Release/x64/sqlite3.dll b/bin/Release/x64/sqlite3.dll new file mode 100644 index 0000000..983c1d5 Binary files /dev/null and b/bin/Release/x64/sqlite3.dll differ diff --git a/bin/Release/x86/sqlite3.dll b/bin/Release/x86/sqlite3.dll new file mode 100644 index 0000000..d5d1586 Binary files /dev/null and b/bin/Release/x86/sqlite3.dll differ