diff --git a/NuGet/linq2db.Access.nuspec b/NuGet/linq2db.Access.nuspec index 1357189..9b1bfcf 100644 --- a/NuGet/linq2db.Access.nuspec +++ b/NuGet/linq2db.Access.nuspec @@ -2,7 +2,7 @@ linq2db.Access - 1.9.0 + 1.10.0 LINQ to Access Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db Access LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.DB2.nuspec b/NuGet/linq2db.DB2.nuspec index 5bc9f11..f2ec47b 100644 --- a/NuGet/linq2db.DB2.nuspec +++ b/NuGet/linq2db.DB2.nuspec @@ -2,7 +2,7 @@ linq2db.DB2 - 1.9.0 + 1.10.0 LINQ to IBM DB2 Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db DB2 LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Firebird.nuspec b/NuGet/linq2db.Firebird.nuspec index 5542047..1b90058 100644 --- a/NuGet/linq2db.Firebird.nuspec +++ b/NuGet/linq2db.Firebird.nuspec @@ -2,7 +2,7 @@ linq2db.Firebird - 1.9.0 + 1.10.0 LINQ to Firebird Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db Firebird LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Informix.nuspec b/NuGet/linq2db.Informix.nuspec index 67c0c6e..c0ba8fa 100644 --- a/NuGet/linq2db.Informix.nuspec +++ b/NuGet/linq2db.Informix.nuspec @@ -2,7 +2,7 @@ linq2db.Informix - 1.9.0 + 1.10.0 LINQ to Informix Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db Informix LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.MySql.nuspec b/NuGet/linq2db.MySql.nuspec index 99af74a..4650112 100644 --- a/NuGet/linq2db.MySql.nuspec +++ b/NuGet/linq2db.MySql.nuspec @@ -2,7 +2,7 @@ linq2db.MySql - 1.9.0 + 1.10.0 LINQ to MySql Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db MySql LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Oracle.Managed.nuspec b/NuGet/linq2db.Oracle.Managed.nuspec index b09f1b8..61a4a89 100644 --- a/NuGet/linq2db.Oracle.Managed.nuspec +++ b/NuGet/linq2db.Oracle.Managed.nuspec @@ -2,7 +2,7 @@ linq2db.Oracle.Managed - 1.9.0 + 1.10.0 LINQ to Oracle (ODP.NET) Managed Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db Oracle LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Oracle.x64.nuspec b/NuGet/linq2db.Oracle.x64.nuspec index 2cc557a..1bee7bd 100644 --- a/NuGet/linq2db.Oracle.x64.nuspec +++ b/NuGet/linq2db.Oracle.x64.nuspec @@ -2,7 +2,7 @@ linq2db.Oracle.x64 - 1.9.0 + 1.10.0 LINQ to Oracle (ODP.NET) x64 Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db Oracle ODP LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Oracle.x86.nuspec b/NuGet/linq2db.Oracle.x86.nuspec index d7d4d8f..9f011c4 100644 --- a/NuGet/linq2db.Oracle.x86.nuspec +++ b/NuGet/linq2db.Oracle.x86.nuspec @@ -2,7 +2,7 @@ linq2db.Oracle.x86 - 1.9.0 + 1.10.0 LINQ to Oracle (ODP.NET) x86 Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db Oracle ODP LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.PostgreSQL.nuspec b/NuGet/linq2db.PostgreSQL.nuspec index 0ce55f8..03f6df2 100644 --- a/NuGet/linq2db.PostgreSQL.nuspec +++ b/NuGet/linq2db.PostgreSQL.nuspec @@ -2,7 +2,7 @@ linq2db.PostgreSQL - 1.9.0 + 1.10.0 LINQ to PostgreSQL Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db Npgsql PostgreSQL LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.SQLite.nuspec b/NuGet/linq2db.SQLite.nuspec index 4d56a66..7eb4964 100644 --- a/NuGet/linq2db.SQLite.nuspec +++ b/NuGet/linq2db.SQLite.nuspec @@ -2,7 +2,7 @@ linq2db.SQLite - 1.9.0 + 1.10.0 LINQ to SQLite Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db SQLite LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.SapHana.nuspec b/NuGet/linq2db.SapHana.nuspec index e482fb3..e699a53 100644 --- a/NuGet/linq2db.SapHana.nuspec +++ b/NuGet/linq2db.SapHana.nuspec @@ -2,7 +2,7 @@ linq2db.SapHana - 1.9.0 + 1.10.0 LINQ to SAP HANA Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db SapHana LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.SqlCe.nuspec b/NuGet/linq2db.SqlCe.nuspec index 5f0ff48..743c20f 100644 --- a/NuGet/linq2db.SqlCe.nuspec +++ b/NuGet/linq2db.SqlCe.nuspec @@ -2,7 +2,7 @@ linq2db.SqlCe - 1.9.0 + 1.10.0 LINQ to SqlCe Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db SqlCe SqlServerCe SqlServer Compact LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.SqlServer.nuspec b/NuGet/linq2db.SqlServer.nuspec index 1f1be4c..8b1bafe 100644 --- a/NuGet/linq2db.SqlServer.nuspec +++ b/NuGet/linq2db.SqlServer.nuspec @@ -2,7 +2,7 @@ linq2db.SqlServer - 1.9.0 + 1.10.0 LINQ to SqlServer Igor Tkachev @@ -18,7 +18,7 @@ linq linq2db SqlServer LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.Sybase.nuspec b/NuGet/linq2db.Sybase.nuspec index d9bc74e..8a6cd54 100644 --- a/NuGet/linq2db.Sybase.nuspec +++ b/NuGet/linq2db.Sybase.nuspec @@ -2,7 +2,7 @@ linq2db.Sybase - 1.9.0 + 1.10.0 LINQ to Sybase ASE Igor Tkachev @@ -19,7 +19,7 @@ linq linq2db Sybase LinqToDB ORM database DB SQL - + diff --git a/NuGet/linq2db.t4models.nuspec b/NuGet/linq2db.t4models.nuspec index b7e5e33..ff417bb 100644 --- a/NuGet/linq2db.t4models.nuspec +++ b/NuGet/linq2db.t4models.nuspec @@ -2,7 +2,7 @@ linq2db.t4models - 1.9.0 + 1.10.0 LINQ to DB T4 Models Igor Tkachev @@ -23,17 +23,17 @@ - + - + - + diff --git a/Tests/LinqToDB/SQLite.generated.cs b/Tests/LinqToDB/SQLite.generated.cs index eabe5f0..e267eb6 100644 --- a/Tests/LinqToDB/SQLite.generated.cs +++ b/Tests/LinqToDB/SQLite.generated.cs @@ -47,29 +47,29 @@ public TestDataDB(string configuration) [Table("AllTypes")] public partial class AllType { - [Column(), PrimaryKey, Identity] public long ID { get; set; } // integer - [Column(@"bigintDataType"), Nullable ] public long? BigintDataType { get; set; } // bigint - [Column(@"numericDataType"), Nullable ] public decimal? NumericDataType { get; set; } // numeric - [Column(@"bitDataType"), Nullable ] public bool? BitDataType { get; set; } // bit - [Column(@"smallintDataType"), Nullable ] public short? SmallintDataType { get; set; } // smallint - [Column(@"decimalDataType"), Nullable ] public decimal? DecimalDataType { get; set; } // decimal - [Column(@"intDataType"), Nullable ] public int? IntDataType { get; set; } // int - [Column(@"tinyintDataType"), Nullable ] public byte? TinyintDataType { get; set; } // tinyint - [Column(@"moneyDataType"), Nullable ] public decimal? MoneyDataType { get; set; } // money - [Column(@"floatDataType"), Nullable ] public double? FloatDataType { get; set; } // float - [Column(@"realDataType"), Nullable ] public double? RealDataType { get; set; } // real - [Column(@"datetimeDataType"), Nullable ] public DateTime? DatetimeDataType { get; set; } // datetime - [Column(@"charDataType"), Nullable ] public char? CharDataType { get; set; } // char(1) - [Column(@"varcharDataType"), Nullable ] public string VarcharDataType { get; set; } // varchar(20) - [Column(@"textDataType"), Nullable ] public string TextDataType { get; set; } // text(max) - [Column(@"ncharDataType"), Nullable ] public string NcharDataType { get; set; } // char(20) - [Column(@"nvarcharDataType"), Nullable ] public string NvarcharDataType { get; set; } // nvarchar(20) - [Column(@"ntextDataType"), Nullable ] public string NtextDataType { get; set; } // ntext(max) - [Column(@"binaryDataType"), Nullable ] public byte[] BinaryDataType { get; set; } // binary - [Column(@"varbinaryDataType"), Nullable ] public byte[] VarbinaryDataType { get; set; } // varbinary - [Column(@"imageDataType"), Nullable ] public byte[] ImageDataType { get; set; } // image - [Column(@"uniqueidentifierDataType"), Nullable ] public Guid? UniqueidentifierDataType { get; set; } // uniqueidentifier - [Column(@"objectDataType"), Nullable ] public object ObjectDataType { get; set; } // object + [Column(), PrimaryKey, Identity] public long ID { get; set; } // integer + [Column("bigintDataType"), Nullable ] public long? BigintDataType { get; set; } // bigint + [Column("numericDataType"), Nullable ] public decimal? NumericDataType { get; set; } // numeric + [Column("bitDataType"), Nullable ] public bool? BitDataType { get; set; } // bit + [Column("smallintDataType"), Nullable ] public short? SmallintDataType { get; set; } // smallint + [Column("decimalDataType"), Nullable ] public decimal? DecimalDataType { get; set; } // decimal + [Column("intDataType"), Nullable ] public int? IntDataType { get; set; } // int + [Column("tinyintDataType"), Nullable ] public byte? TinyintDataType { get; set; } // tinyint + [Column("moneyDataType"), Nullable ] public decimal? MoneyDataType { get; set; } // money + [Column("floatDataType"), Nullable ] public double? FloatDataType { get; set; } // float + [Column("realDataType"), Nullable ] public double? RealDataType { get; set; } // real + [Column("datetimeDataType"), Nullable ] public DateTime? DatetimeDataType { get; set; } // datetime + [Column("charDataType"), Nullable ] public char? CharDataType { get; set; } // char(1) + [Column("varcharDataType"), Nullable ] public string VarcharDataType { get; set; } // varchar(20) + [Column("textDataType"), Nullable ] public string TextDataType { get; set; } // text(max) + [Column("ncharDataType"), Nullable ] public string NcharDataType { get; set; } // char(20) + [Column("nvarcharDataType"), Nullable ] public string NvarcharDataType { get; set; } // nvarchar(20) + [Column("ntextDataType"), Nullable ] public string NtextDataType { get; set; } // ntext(max) + [Column("binaryDataType"), Nullable ] public byte[] BinaryDataType { get; set; } // binary + [Column("varbinaryDataType"), Nullable ] public byte[] VarbinaryDataType { get; set; } // varbinary + [Column("imageDataType"), Nullable ] public byte[] ImageDataType { get; set; } // image + [Column("uniqueidentifierDataType"), Nullable ] public Guid? UniqueidentifierDataType { get; set; } // uniqueidentifier + [Column("objectDataType"), Nullable ] public object ObjectDataType { get; set; } // object } [Table("Child")] diff --git a/Tests/LinqToDB/SQLite.tt b/Tests/LinqToDB/SQLite.tt index a5a8ca4..1522cab 100644 --- a/Tests/LinqToDB/SQLite.tt +++ b/Tests/LinqToDB/SQLite.tt @@ -3,7 +3,7 @@ <#@ include file="..\..\Templates\LinqToDB.SQLite.ttinclude" #> <#@ include file="..\..\Templates\PluralizationService.ttinclude" #> <#@ assembly name="$(SolutionDir)Tests\LinqToDB\bin\Debug\System.Data.SQLite.dll" #> -<#@ assembly name="$(SolutionDir)\packages\linq2db.1.9.0\lib\net40\linq2db.dll" #> +<#@ assembly name="$(SolutionDir)\packages\linq2db.1.10.0\lib\net40\linq2db.dll" #> <# NamespaceName = "SQLiteDataContext"; diff --git a/Tests/LinqToDB/SqlCe.tt b/Tests/LinqToDB/SqlCe.tt index e2c1172..66292fa 100644 --- a/Tests/LinqToDB/SqlCe.tt +++ b/Tests/LinqToDB/SqlCe.tt @@ -2,7 +2,7 @@ <#@ output extension=".generated.cs" #> <#@ include file="..\..\Templates\LinqToDB.SqlCe.ttinclude" #> <#@ assembly name="$(SolutionDir)packages\Microsoft.SqlServer.Compact.4.0.8876.1\lib\net40\System.Data.SqlServerCe.dll" #> -<#@ assembly name="$(SolutionDir)\packages\linq2db.1.9.0\lib\net40\linq2db.dll" #> +<#@ assembly name="$(SolutionDir)\packages\linq2db.1.10.0\lib\net40\linq2db.dll" #> <#@ include file="..\..\Templates\Humanizer.ttinclude" #> <#@ assembly name="$(SolutionDir)\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll" #> <# diff --git a/Tests/LinqToDB/T4Model.LinqToDB.csproj b/Tests/LinqToDB/T4Model.LinqToDB.csproj index 06bd744..ca7e883 100644 --- a/Tests/LinqToDB/T4Model.LinqToDB.csproj +++ b/Tests/LinqToDB/T4Model.LinqToDB.csproj @@ -44,8 +44,8 @@ ..\..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll - - ..\..\packages\linq2db.1.9.0\lib\net45\linq2db.dll + + ..\..\packages\linq2db.1.10.0\lib\net45\linq2db.dll ..\..\packages\Microsoft.SqlServer.Types.14.0.314.76\lib\Net40\Microsoft.SqlServer.Types.dll diff --git a/Tests/LinqToDB/packages.config b/Tests/LinqToDB/packages.config index 8af4615..049f565 100644 --- a/Tests/LinqToDB/packages.config +++ b/Tests/LinqToDB/packages.config @@ -2,7 +2,7 @@ - + diff --git a/appveyor.yml b/appveyor.yml index 8e2ce5f..80ac21b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,8 @@ configuration: Release environment: - packageVersion: 1.9.0 - linq2dbVersion: 1.9.0 + packageVersion: 1.10.0 + linq2dbVersion: 1.10.0 version: $(packageVersion).{build} diff --git a/packages/linq2db.1.9.0/Readme.txt b/packages/linq2db.1.10.0/Readme.txt similarity index 69% rename from packages/linq2db.1.9.0/Readme.txt rename to packages/linq2db.1.10.0/Readme.txt index e67480b..03f6eb5 100644 --- a/packages/linq2db.1.9.0/Readme.txt +++ b/packages/linq2db.1.10.0/Readme.txt @@ -1,3 +1,40 @@ +LINQ to DB 1.10.0 Release Notes +--------------------------------- +- breaking change: [Oracle] bulk mode property (OracleTools.UseAlternativeBulkCopy) changed type from bool to AlternativeBulkCopy enum. If you assigned it to true, you should replace it with AlternativeBulkCopy.InsertInto value. +- breaking change: [Oracle] Old implementation used TO_DATE literal for DataType.DateTime type and TO_TIMESTAMP literal for other date and time types. New implementation will use TO_TIMESTAMP for DataType.DateTime2 type and TO_DATE for other date and time types (#879) + +- documentation: Added XML documentation for mapping functionality (#836) +- documentation: Added documentation on explicit join definition: https://github.com/linq2db/linq2db/wiki/Join-Operators + +- feature: LINQ extension methods to define inner and outer (left, right, full) joins (#685) +- feature: [Oracle] New bulk insert mode added (AlternativeBulkCopy.InsertDual) (#878) +- feature: new DataConnection async extensions: ExecuteAsync, ExecuteProcAsync, QueryToListAsync, QueryToArrayAsync (#838) +- feature: [MySQL] BulkCopyOptions.RetrieveSequence support (only for single integer indentity per table) (#866) +- feature: support for query expression preprocessing (#852) + +- improvement: added Sql.NoConvert helper function to remove unnecessary conversions, introduced by LINQ (#870). Fixes #722 +- improvement: [MS SQL] XML parameters support for SQL Server (#859) +- improvement: joins optimization improvements (#834) +- improvement: expression tests generator improvements (#877) +- improvement: [Informix] return default schema flag and schema name for tables in schema provider (#858) + +- fix: [Firebird] regression in string literals support for Firebird < 2.5 (#851). You should set FirebirdConfiguration.IsLiteralEncodingSupported to false for firebird < 2.5 +- fix: internal IDataContextEx interface functionality merged into IDataContext interface to allow custom data contexts implementations (#837) +- fix: functions doesn't work in association predicate exptessions (#841) +- fix: query cache ignores changes to query, made by ProcessQuery method (#862) +- fix: group by issues when grouping by date parts (#264, #790) +- fix: some scenarios doesn't work with extension method associations (#833) +- fix: [.net core] SerializableAttribute type redefinition conflict (#839) +- fix: [.net core] Removed strong name from linq2db.core (#867) +- fix: execute query before returning enumerable result to user (#872) +- fix: [PostgreSQL] added result conversion to integer for DatePart function (#882) +- fix: [DB2] fix exception in DB2 schema provider (#880) +- fix: fix potential NRE (#875) +- fix: configuration (#906) +- fix: generating in (#909) + +All changes: https://github.com/linq2db/linq2db/milestone/6 + LINQ to DB 1.9.0 Release Notes --------------------------------- - breaking change: [MySql] access to a table using fully-qualified name using schema/owner is not supported anymore. You should update your code to use database name for it (#681) diff --git a/packages/linq2db.1.10.0/lib/net40/linq2db.XML b/packages/linq2db.1.10.0/lib/net40/linq2db.XML new file mode 100644 index 0000000..a429dab --- /dev/null +++ b/packages/linq2db.1.10.0/lib/net40/linq2db.XML @@ -0,0 +1,8124 @@ + + + + linq2db + + + + + Provides helper methods for asynchronous operations. + + + + + Executes provided action using task scheduler. + + Action to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided action to each element in source sequence. + Sequence elements processed sequentially. + + Source sequence element type. + Source sequence. + Action to apply to each sequence element. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided function to each element in source sequence sequentially. + Sequence enumeration stops if function returns false. + + Source sequence element type. + Source sequence. + Function to apply to each sequence element. Returning false from function will stop numeration. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Connection string configuration provider. + + + + + Gets connection string. + + + + + Gets connection configuration name. + + + + + Gets data provider configuration name. + + + + + Is this connection configuration defined on global level (machine.config) or on application level. + + + + + Data provider configuration provider. + + + + + Gets an assembly qualified type name of this data provider. + + + + + Gets a name of this data provider configuration. + + + + + Gets a value indicating whether the provider is default. + + + + + Extra provider-specific parameters. + + Sybase: + assemblyName - Sybase provider assembly name. + + + SAP HANA: + assemblyName - SAP HANA provider assembly name. + + + Oracle: + assemblyName - Oracle provider assembly name. + + + SQL Server: + version - T-SQL support level, recognized values: + "2000", "2005", "2012", "2014". Default: "2008". + + + DB2: + version - DB2 platform, recognized values: + "zOS" or "z/OS" - DB2 for z/OS. Default platform - DB2 LUW. + + + + + + Settings provider interface. + + + + + Gets list of data provider settings. + + + + + Gets name of default connection configuration. + + + + + Gets name of default data provider configuration. + + + + + Gets list of connection configurations. + + + + + Proxy object interface. + + Proxyfied type. + + + + Proxified object. + + + + + Proxy helpers. + + + + + Unwraps all proxies, applied to passed object and returns unproxyfied value. + + Type of proxified object. + Object, that must be stripped of proxies. + Unproxified object. + + + + Name-value pair. + + + + + Gets or sets name for value. + + + + + Gets ot sets value. + + + + + Implements abstraction over non-persistent database connection that could be released after query or transaction execution. + + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Creates data context using default database configuration. + for more details. + + + + + Creates data context using specific database configuration. + + Connection configuration name. + In case of null value, context will use default configuration. + for more details. + + + + + Creates data context using specific data provider implementation and connection string. + + Database provider implementation. + Database connection string. + + + + Counts number of locks, put on underlying connection. Connection will not be released while counter is not zero. + + + + + Underlying active database connection. + + + + + Returns associated database connection or create new connection, if connection + doesn't exists. + + Data connection. + + + + For active underlying connection, updates information about last executed query and + releases connection, if it is not locked () + and is false. + + + + + Noop constructor for context cloning. + + Unused. + + + + Closes underlying connection and fires event (only if connection existed). + + + + + Starts new transaction for current context with specified isolation level. + If connection already has transaction, it will be rolled back. + + Transaction isolation level. + Database transaction object. + + + + Starts new transaction for current context with default isolation level. + If connection already has transaction, it will be rolled back. + + Not supported, see issue. + Database transaction object. + + + + Gets initial value for database connection configuration name. + + + + + Gets initial value for database connection string. + + + + + Gets database provider implementation. + + + + + Gets or sets context identifier. Uses provider's name by default. + + + + + Gets or sets mapping schema. Uses provider's mapping schema by default. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Contains text of last command, sent to database using current context. + + + + + Gets or sets option to dispose underlying connection after use. + Default value: false. + + + + + Gets or sets status of Multiple Active Result Sets (MARS) feature. This feature available only for + SQL Azure and SQL Server 2005+. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed through current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed through current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before underlying connection closed on context disposal or closing. + Not fired, if context doesn't have active connection (bug?). + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Basic merge builder's validation options set to validate merge operation on SQL:2008 level without specific + database limitations or extensions. + + + + + Allows to add text before generated merge command. + + + + + Allows to add text after generated merge command. E.g. to specify command terminator if provider requires it. + + + + + Generates SQL and parameters for merge command. + + Returns merge command SQL text. + + + + Validates command configuration to not violate common or provider-specific rules. + + + + + List of generated command parameters. + + + + + If true, command execution must return 0 without request to database. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property should contain name of table with single record. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property could contain name of database for table with single record. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property could contain name of schema for table with single record. + + + + + If true, provider allows to set values of identity columns on insert operation. + + + + + If true, builder will generate command for empty enumerable source; + otherwise command generation will be interrupted and 0 result returned without request to database. + + + + + If true, provider allows to generate subquery as a source element of merge command. + + + + + If true, provider supports column aliases specification after table alias. + E.g. as table_alias (column_alias1, column_alias2). + + + + + If true, provider supports list of VALUES as a source element of merge command. + + + + + If false, parameters in source subquery select list must have type. + + + + + Target table name, ready for use in SQL. Could include database/schema names or/and escaping. + + + + + For providers, that use method to build + UPDATE FROM query, this property should be set to true. + + + + + If true, merge command could include DeleteBySource and UpdateBySource operations. Those operations + supported only by SQL Server. + + + + + If true, merge command could include Delete operation. This operation is a part of SQL 2008 standard. + + + + + Maximum number of oprations, allowed in single merge command. If value is less than one - there is no limits + on number of commands. This option is used by providers that have limitations on number of operations like + SQL Server. + + + + + If true, merge command operations could have predicates. This is a part of SQL 2008 standard. + + + + + If true, merge command could have multiple operations of the same type with predicates with upt to one + command without predicate. This option is used by providers that doesn't allow multiple operations of the + same type like SQL Server. + + + + + When this operation enabled, merge command cannot include Delete or Update operations together with + UpdateWithDelete operation in single command. Also use of Delte and Update operations in the same command + not allowed even without UpdateWithDelete operation. + This is Oracle-specific operation. + + + + + Replaces references to target or source record with references to a anonymous type properties: + 't' for target record, and 's' for source record. + + + + Tuple-typed parameter. + Old target record parameter. + Old source record parameter. + + + + Contains extension methods for merge API. + + + + + Starts merge operation definition from target table. + + Target record type. + Target table. + Returns merge command builder, that contains only target. + + + + Starts merge operation definition from source query. + + Target record type. + Source record type. + Source data query. + Target table. + Returns merge command builder with source and target set. + + + + Adds source query to merge command definition. + + Target record type. + Source record type. + Merge command builder. + Source data query. + Returns merge command builder with source and target set. + + + + Adds source collection to merge command definition. + + Target record type. + Source record type. + Merge command builder. + Source data collection. + Returns merge command builder with source and target set. + + + + Sets target table as merge command source. + + Target record type. + Merge command builder. + Returns merge command builder with source and target set. + + + + Adds definition of matching of target and source records using key value. + + Target record type. + Source record type. + Source and target records join/match key type. + Merge command builder. + Target record match key definition. + Source record match key definition. + Returns merge command builder with source, target and match (ON) set. + + + + Adds definition of matching of target and source records using match condition. + + Target record type. + Source record type. + Merge command builder. + Rule to match/join target and source records. + Returns merge command builder with source, target and match (ON) set. + + + + Adds definition of matching of target and source records using primary key columns. + + Target record type. + Merge command builder. + Returns merge command builder with source, target and match (ON) set. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using data from the same fields of source record + for each new record from source, not processed by previous operations. + + Target and source records type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using data from the same fields of source record + for each new record from source that passes filtering with specified predicate, if it wasn't + processed by previous operations. + + Target and source records type. + Merge command builder interface. + Operation execution condition over source record. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using user-defined values for target columns + for each new record from source, not processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Create record expression using source record. Expression should be a call to target + record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using user-defined values for target columns + for each new record from source that passes filtering with specified predicate, if it wasn't + processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over source record. + Create record expression using source record. Expression should be a call to target + record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target, if it wasn't processed by previous operations. + + Target and source records type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + + Target and source records type. + Merge command builder interface. + Operation execution condition over target and source records. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target and source records. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target, if it wasn't processed by previous operations. + After that it removes updated records if they are matched by delete predicate. + + Target and source records type. + Merge command builder interface. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + After that it removes updated records if they are matched by delete predicate. + + Target and source records type. + Merge command builder interface. + Update execution condition over target and source records. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target, if it wasn't processed by previous operations. + After that it removes updated records if they matched by delete predicate. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + After that it removes updated records if they matched by delete predicate. + + Target record type. + Source record type. + Merge command builder interface. + Update execution condition over target and source records. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + Adds new delete operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched in source and target, + if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new delete operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched in source and target, + if it was matched by operation predicate and wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new update by source operation to merge and returns new merge command with added operation. + This operation updates record in target table for each record that was matched only in target + using user-defined values for target columns, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target record. Expression should be a call to + target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new update by source operation to merge and returns new merge command with added operation. + This operation updates record in target table for each record that was matched only in target + using user-defined values for target columns, if it passed filtering by operation predicate and + wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target record. + Update record expression using target record. Expression should be a call to + target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new delete by source operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched only in target + and wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new delete by source operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched only in target + and passed filtering with operation predicate, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target record. + Returns new merge command builder with new operation. + + + + Executes merge command and returns total number of target records, affected by merge operations. + + Target record type. + Source record type. + Merge command definition. + Returns number of target table records, affected by merge comand. + + + + Merge command builder that have only target table configured. + Only operation available for this type of builder is source configuration. + + Target record type. + + + + Merge command builder that have only target table and source configured. + Only operation available for this type of builder is match (ON) condition configuration. + + Target record type. + Source record type. + + + + Merge command builder that have target table, source and match (ON) condition configured. + You can only add operations to this type of builder. + + Target record type. + Source record type. + + + + Merge command builder that have target table, source, match (ON) condition and at least one operation configured. + You can add more operations to this type of builder or execute command. + + Target record type. + Source record type. + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + The return type of . + The result from the operation. + + + + Creates a new instance of . + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + The return type of . + The result from the operation. + + + + 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 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. + + + + + 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. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent before failing is 26 seconds plus the random factor. + + + + + Creates a new instance of . + + The maximum number of retry attempts. + + + + Creates a new instance of . + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + Additional SQL error numbers that should be considered transient. + + + + Detects the exceptions caused by SQL Server transient failures. + + + + + Implements persistent database connection abstraction over different database engines. Could be initialized using connection string name or connection string, + or attached to existing connection or transaction. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Creates database connection object that uses default connection configuration from property. + + + + + Creates database connection object that uses default connection configuration from property and provided mapping schema. + + Mapping schema to use with this connection. + + + + Creates database connection object that uses provided connection configuration and mapping schema. + + Name of database connection configuration to use with this connection. + In case of null, configuration from property will be used. + Mapping schema to use with this connection. + + + + Creates database connection object that uses provided connection configuration. + + Name of database connection configuration to use with this connection. + In case of null, configuration from property will be used. + + + + Creates database connection object that uses specified database provider, connection string and mapping schema. + + Name of database provider to use with this connection. class for list of providers. + Database connection string to use for connection with database. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection string. + + Name of database provider to use with this connection. class for list of providers. + Database connection string to use for connection with database. + + + + Creates database connection object that uses specified database provider, connection string and mapping schema. + + Database provider implementation to use with this connection. + Database connection string to use for connection with database. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection string. + + Database provider implementation to use with this connection. + Database connection string to use for connection with database. + + + + Creates database connection object that uses specified database provider, connection and mapping schema. + + Database provider implementation to use with this connection. + Existing database connection to use. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection. + + Database provider implementation to use with this connection. + Existing database connection to use. + + + + Creates database connection object that uses specified database provider, transaction and mapping schema. + + Database provider implementation to use with this connection. + Existing database transaction to use. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and transaction. + + Database provider implementation to use with this connection. + Existing database transaction to use. + + + + Gets or sets default connection configuration name. Used by by default and could be set automatically from: + - ; + - first non-global connection string name from ; + - first non-global connection string name passed to method. + + + + + + Gets or sets name of default data provider, used by new connection if user didn't specified provider explicitly in constructor or in connection options. + Initialized with value from .. + + + + + + Sets tracing level for data connections. + + Connection tracing level. + + + + Trace function. By Default use class for logging, but could be replaced to log e.g. to your log file. + First parameter contains trace message. + Second parameter contains context () + + + + + + Registers database provider factory method. + Factory accepts connection string settings and connection string. Could return null, if cannot create provider + instance using provided options. + + Factory method delegate. + + + + Registers database provider implementation by provided unique name. + + Provider name, to which provider implementation will be mapped. + Database provider implementation. + + + + Registers database provider implementation using name. + + Database provider implementation. + + + + Returns database provider implementation, associated with provided connection configuration name. + + Connection configuration name. + Database provider. + + + + Register connection strings for use by data connection class. + + Collection of connection string configurations. + + + + Register connection configuration with specified connection string and database provider implementation. + + Connection configuration name. + Connection string. + Database provider. If not specified, will use provider, registered using value. + + + + Sets connection string for specified connection name. + + Connection name. + Connection string. + + + + Returns connection string for specified connection name. + + Connection name. + Connection string. + + + + Closes and dispose associated underlying database transaction/connection. + + + + + Contains text of last command, sent to database using current connection. + + + + + For internal use only. + + + + + For internal use only. + + + + + Removes cached data mappers. + + + + + Starts new transaction for current connection with default isolation level. If connection already has transaction, it will be rolled back. + + Database transaction object. + + + + Starts new transaction for current connection with specified isolation level. If connection already have transaction, it will be rolled back. + + Transaction isolation level. + Database transaction object. + + + + Commits transaction (if any), associated with connection. + + + + + Rollbacks transaction (if any), associated with connection. + + + + + Adds additional mapping schema to current connection. + + Mapping schema. + Current connection object. + + + + Clones current connection. + + Cloned connection. + + + + Disposes connection. + + + + + Database configuration name (connection string name). + + + + + Database provider implementation for specific database engine. + + + + + Database connection string. + + + + + Retry policy for current connection. + + + + + For internal use only. + + + + + Gets or sets status of Multiple Active Result Sets (MARS) feature. This feature available only for + SQL Azure and SQL Server 2005+. + + + + + Gets or sets trace handler, used for all new connections. + + + + + Gets or sets trace handler, used for current connection instance. + + + + + Gets or sets global data connection trace options. + + + + + Gets or sets default connection settings. By default contains settings from linq2db configuration section from configuration file (not supported by .Net Core). + + + + + + Gets underlying database connection, used by current connection object. + + + + + Event, triggered before connection closed using method. + + + + + Event, triggered after connection closed using method. + + + + + Gets or sets command execution timeout. By default timeout is 0 (infinity). + + + + + Gets or sets command object, used by current connection. + + + + + Gets current transaction, associated with connection. + + + + + Gets maping schema, used for current connection. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed through current connection. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed through current connection. + + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Explicit connection reuse scope. + See for more details. + + + + + Creates connection reuse scope for . + + Data context. + + + + Restores old connection reuse option. + + + + + Basic MERGE operation implementation for all providers. + For provider-specific logic create child class. + + + + + Builds MERGE INTO command text. + For ON condition primary key fields used. + UPDATE operation generated if there are any updateable columns (and only for them): NOT PK AND (identity OR !SkipOnUpdate). + INSERT operation generated for following columns: identity OR !SkipOnInsert. + DELETE operation generated if corresponding flag is set and could include optional condition. It is generated + as WHEN NOT MATCHED BY SOURCE match clause, which is supported only by SQL Server. + + Target table mapping class. + Database connection. + Optional DELETE operation condition. + Should MERGE command include DELETE operation or not. + Source data. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + True if command built and false if source is empty and command execution not required. + + + + Generates USING source statement with direct VALUES. + + Target table mapping class. + Database connection. + Source data collection. + Returns true on success an false if source is empty. + + + + Generates USING source statement using union subquery with dummy select for each source record for databases + that doesn't support VALUES in source. + + Target table mapping class. + Database connection. + Source data collection. + TOP 1 clause equivalent for current database engine. + Database engine-specific dummy table for FROM statement with at least one record. + Returns true on success an false if source is empty. + + + + Executes generated MERGE query against database connection. + + Returns total number of affected records - inserted, updated or deleted. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Returns conext object to wrap calls of Execute* methods. + Using this, provider could e.g. change thread culture during Execute* calls. + Following calls wrapped right now: + DataConnection.ExecuteNonQuery + DataConnection.ExecuteReader. + + Returns disposable scope object. Cannot be null. + + + + The default number of retry attempts. + + + + + The maximum number of retry attempts. + + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Gets or sets a value that indicates whether the bulk copy operation should be aborted. + + + + + Gets a value that returns the number of rows copied during the current bulk copy operation. + + + + + Provides database connection command abstraction. + + + + + Instance of database connection, associated with command. + + + + + Command text. + + + + + Command parameters. + + + + + Type of command. See for all supported types. + Default value: . + + + + + Command behavior flags. See for more details. + Default value: . + + + + + Creates database command instance using provided database connection and command text. + + Database connection instance. + Command text. + + + + Creates database command instance using provided database connection, command text and parameters. + + Database connection instance. + Command text. + List of command parameters. + + + + Creates database command instance using provided database connection, command text and single parameter. + + Database connection instance. + Command text. + Command parameter. + + + + Creates database command instance using provided database connection, command text and parameters. + + Database connection instance. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + + + + Executes command using command type and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Returns collection of query result records. + + + + Executes command using command type and returns number of affected records. + + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Number of records, affected by command execution. + + + + Executes command using command type and returns single value. + + Resulting value type. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Resulting value. + + + + Executes command using command type and returns data reader instance. + + Data reader object. + + + + Executes command and returns data reader instance. + + Data reader object. + + + + Clears global cache of object mapping functions from query results and mapping functions from value to . + + + + + Provides a scope, in which LINQ queries will not be added to a LINQ query cache. This could be used to tell + linq2db to not cache queries that operate with big parametes. + More details could be found here. + Take into account that this class only disables adding of new query, created in its scope, to a cache. + If query already present in cache - linq2db will use cached query. + + + + + Creates disposable no-cache scope. + + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Returns path to original directory with provided assembly. + + Assembly. + Assembly directory path. + + + + Returns original path to assembly file. + + Assembly. + Assembly file path. + + + + Converts file path in URI format to absolute path. + + File path in URI format. + Absolute file path. + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Retry policy global settings. + + + + + Retry policy factory method, used to create retry policy for new instance. + If factory method is not set, retry policy is not used. + Not set by default. + + + + + The default number of retry attempts. + Default value: 5. + + + + + The default maximum time delay between retries, must be nonnegative. + Default value: 30 seconds. + + + + + The default maximum random factor, must not be lesser than 1. + Default value: 1.1. + + + + + The default base for the exponential function used to compute the delay between retries, must be positive. + Default value: 2. + + + + + The default coefficient for the exponential function used to compute the delay between retries, must be nonnegative. + Default value: 1 second. + + + + + Status of use of default retry policy. + Getter returns true if default retry policy used, and false if custom retry policy used or retry policy is not set. + Setter sets to default retry policy factory if is true, otherwise removes retry policy. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Implementation of custom configuration section. + + + + + linq2db configuration section. + + + + + Gets list of data providers configuration elements. + + + + + Gets default connection configuration name. + + + + + Gets default data provider configuration name. + + + + + Data provider configuration element. + + + + + Configuration section element. + + + + + Gets a value indicating whether an unknown attribute is encountered during deserialization. + + + True when an unknown attribute is encountered while deserializing. + + The name of the unrecognized attribute. + The value of the unrecognized attribute. + + + + Gets collection of unknown element attributes. + + + + + Creates data provider configuration element. + + + + + Gets an assembly qualified type name of this data provider. + + + + + Gets a name of this data provider. + If not set, is used. + + + + + Gets a value indicating whether the provider is default. + + + + + Collection of data provider configuration elements. + + + + + Collection of configuration section elements. + + Element type. + + + + Gets element from collection by its name. + + Element name. + Element or null, if element with such name is not found. + + + + Gets element from collection by its index. + + Element index. + Element at specified index. + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Contains extension methods for class. + + + + + Creates command wrapper for current connection with provided command text. + + Database connection. + Command text. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and parameters. + + Database connection. + Command text. + Command parameters. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and single parameter. + + Database connection. + Command text. + Command parameter. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and parameters. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Database command wrapper. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameter. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Number of records, affected by command execution. + + + + Executes command using command type and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Number of records, affected by command execution. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameter. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Resulting value. + + + + Executes command using command type and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Resulting value. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameters. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameter. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Type of command. See for all supported types. + Command behavior flags. See for more details. + Command parameters. + Data reader object. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + Operation options. + Records to insert. + Bulk insert operation status. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + TODO + Records to insert. + Bulk insert operation status. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table specified in parameter or into table, identified by . + + Mapping type of inserted record. + Target table. + Operation options. + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table, identified by . + + Mapping type of inserted record. + Target table. + TODO + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table, identified by . + + Mapping type of inserted record. + Target table. + Records to insert. + Bulk insert operation status. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only for with Server. + + Target table mapping class. + Data connection instance. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only with SQL Server. + + Target table mapping class. + Target table. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert. + + Target table mapping class. + Target table. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Enumerate types for cached s + + + + + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Explicit data context transaction wrapper. + + + + + Creates new transaction wrapper. + + Data context. + + + + Start new transaction with default isolation level. + If underlying connection already has transaction, it will be rolled back. + + + + + Start new transaction with specified isolation level. + If underlying connection already has transaction, it will be rolled back. + + Transaction isolation level. + + + + Commits started transaction. + + + + + Rollbacks started transaction. + + + + + Rollbacks started transaction (if any). + + + + + Gets or sets transaction's data context. + + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Clears query caches for all typed queries. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + 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 The '{0}' must be an interface.. + + + + + Looks up a localized string similar to Can not figure out the target method for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to Parameter 'cacheAspectType' must be of CacheAspect type. + + + + + Looks up a localized string similar to Invalid cast from {0} to {1}. + + + + + Looks up a localized string similar to Index has more then one field for the method '{0}.{1}'. Use CompoundValue as the Key type. + + + + + Looks up a localized string similar to Key type for the method '{0}.{1}' can be of type object or CompoundValue.. + + + + + Looks up a localized string similar to Index is not defined for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to DbManager object is not provided.. + + + + + Looks up a localized string similar to Key type for the method '{0}.{1}' can be of type object, CompoundValue, or a scalar type.. + + + + + Looks up a localized string similar to Can not determine object type for the method '{0}.{1}'. + + + + + Looks up a localized string similar to Cannot create an instance of the type '{0}'. + + + + + Looks up a localized string similar to ExecuteNonQuery does not support the Destination attribute. + + + + + Looks up a localized string similar to DataSetTable attribute for method '{0}.{1}' may not be an index. + + + + + Looks up a localized string similar to The type '{0}' does not have 'Equals' method. + + + + + Looks up a localized string similar to The return type '{0}' of the method '{1}' is incompatible with the destination parameter type '{2}'.. + + + + + Looks up a localized string similar to ExecuteScalar destination must be an out or a ref parameter.. + + + + + Looks up a localized string similar to Scalar field name is not defined for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to More then one parameter is marked as destination. + + + + + Looks up a localized string similar to No such parameter: '{0}'. + + + + + Looks up a localized string similar to DataSet must be initialized before calling Update routine. Cannot update database from a null dataset.. + + + + + Looks up a localized string similar to DataTable must be initialized before calling Update routine. Cannot update database from a null data table.. + + + + + Looks up a localized string similar to The connection does not match the data provider type.. + + + + + Looks up a localized string similar to dataProvider.ConnectionType must be a valid connection type. + + + + + Looks up a localized string similar to dataProvider.Name must be a valid string. + + + + + Looks up a localized string similar to dataProvider.ProviderName must be a valid string. + + + + + Looks up a localized string similar to providerName must be a valid string. + + + + + Looks up a localized string similar to Parameter count does not match Parameter Value count.. + + + + + Looks up a localized string similar to Both `{0}' and `{1}' data providers are default. + + + + + Looks up a localized string similar to Only objects of type IDbDataParameter or arrays of IDbDataParameter are supported. + + + + + Looks up a localized string similar to The '{0}' key does not exist in the configuration file.. + + + + + Looks up a localized string similar to The '{0}' type of the connection could not be recognized.. + + + + + Looks up a localized string similar to A suitable data provider is not available for configuration '{0}'.. + + + + + Looks up a localized string similar to The interface must be public.. + + + + + Looks up a localized string similar to 'interfaceType' must be an interface.. + + + + + Looks up a localized string similar to Invalid number of 'baseObjectTypes' or 'objs'.. + + + + + Looks up a localized string similar to '{0}' is not a subtype of '{1}'.. + + + + + Looks up a localized string similar to Failed to query type '{0}' for method '{1}'.. + + + + + Looks up a localized string similar to Type '{0}' is not expected.. + + + + + Looks up a localized string similar to MethodInfo can not be changed.. + + + + + Looks up a localized string similar to Type '{0}' does not contain field '{1}'.. + + + + + Looks up a localized string similar to At least one field name or index must be specified. + + + + + Looks up a localized string similar to At least one field index must be specified. + + + + + Looks up a localized string similar to At least one field name must be specified. + + + + + Looks up a localized string similar to Can not convert array of type '{0}' to array of '{1}'.. + + + + + Looks up a localized string similar to The index parameter must be greater or equal to zero.. + + + + + Looks up a localized string similar to Name must be a valid string.. + + + + + Looks up a localized string similar to Can not figure out the overloaded method for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to The '{0}' type does not have appropriate getter. See '{1}' member '{2}' of '{3}' type.. + + + + + Looks up a localized string similar to The '{0}' type does not have appropriate setter. See '{1}' member '{2}' of '{3}' type.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: generic type '{2}' and it's generic parameter types should have only one parameter type.. + + + + + Looks up a localized string similar to Could not build the '{0}' type: default constructor not found.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have constructor taking type '{3}'.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have public constructor.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have public default constructor.. + + + + + Looks up a localized string similar to Type '{0}' must implement required public method '{1}'. + + + + + Looks up a localized string similar to Type '{0}' does not implement public method '{1}'. + + + + + Looks up a localized string similar to The method '{0}' of '{1}' has parameter '{2}' wich can't be handled. Please specify attrbutes [Parent] or [PropertyInfo] to get access to them.. + + + + + Looks up a localized string similar to Could not build the '{0}' type.. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/net40/linq2db.dll b/packages/linq2db.1.10.0/lib/net40/linq2db.dll new file mode 100644 index 0000000..b26b9b9 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/net40/linq2db.dll differ diff --git a/packages/linq2db.1.10.0/lib/net40/linq2db.pdb b/packages/linq2db.1.10.0/lib/net40/linq2db.pdb new file mode 100644 index 0000000..76c687c Binary files /dev/null and b/packages/linq2db.1.10.0/lib/net40/linq2db.pdb differ diff --git a/packages/linq2db.1.10.0/lib/net45/linq2db.XML b/packages/linq2db.1.10.0/lib/net45/linq2db.XML new file mode 100644 index 0000000..810aed7 --- /dev/null +++ b/packages/linq2db.1.10.0/lib/net45/linq2db.XML @@ -0,0 +1,9784 @@ + + + + linq2db + + + + + Provides helper methods for asynchronous operations. + + + + + Executes provided action using task scheduler. + + Action to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided action to each element in source sequence. + Sequence elements processed sequentially. + + Source sequence element type. + Source sequence. + Action to apply to each sequence element. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided function to each element in source sequence sequentially. + Sequence enumeration stops if function returns false. + + Source sequence element type. + Source sequence. + Function to apply to each sequence element. Returning false from function will stop numeration. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously loads data from query to a list. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + List with query results. + + + + Asynchronously loads data from query to an array. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + Array with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Connection string configuration provider. + + + + + Gets connection string. + + + + + Gets connection configuration name. + + + + + Gets data provider configuration name. + + + + + Is this connection configuration defined on global level (machine.config) or on application level. + + + + + Data provider configuration provider. + + + + + Gets an assembly qualified type name of this data provider. + + + + + Gets a name of this data provider configuration. + + + + + Gets a value indicating whether the provider is default. + + + + + Extra provider-specific parameters. + + Sybase: + assemblyName - Sybase provider assembly name. + + + SAP HANA: + assemblyName - SAP HANA provider assembly name. + + + Oracle: + assemblyName - Oracle provider assembly name. + + + SQL Server: + version - T-SQL support level, recognized values: + "2000", "2005", "2012", "2014". Default: "2008". + + + DB2: + version - DB2 platform, recognized values: + "zOS" or "z/OS" - DB2 for z/OS. Default platform - DB2 LUW. + + + + + + Settings provider interface. + + + + + Gets list of data provider settings. + + + + + Gets name of default connection configuration. + + + + + Gets name of default data provider configuration. + + + + + Gets list of connection configurations. + + + + + Proxy object interface. + + Proxyfied type. + + + + Proxified object. + + + + + Proxy helpers. + + + + + Unwraps all proxies, applied to passed object and returns unproxyfied value. + + Type of proxified object. + Object, that must be stripped of proxies. + Unproxified object. + + + + Name-value pair. + + + + + Gets or sets name for value. + + + + + Gets ot sets value. + + + + + Implements abstraction over non-persistent database connection that could be released after query or transaction execution. + + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Creates data context using default database configuration. + for more details. + + + + + Creates data context using specific database configuration. + + Connection configuration name. + In case of null value, context will use default configuration. + for more details. + + + + + Creates data context using specific data provider implementation and connection string. + + Database provider implementation. + Database connection string. + + + + Counts number of locks, put on underlying connection. Connection will not be released while counter is not zero. + + + + + Underlying active database connection. + + + + + Returns associated database connection or create new connection, if connection + doesn't exists. + + Data connection. + + + + For active underlying connection, updates information about last executed query and + releases connection, if it is not locked () + and is false. + + + + + Noop constructor for context cloning. + + Unused. + + + + Closes underlying connection and fires event (only if connection existed). + + + + + Starts new transaction for current context with specified isolation level. + If connection already has transaction, it will be rolled back. + + Transaction isolation level. + Database transaction object. + + + + Starts new transaction for current context with default isolation level. + If connection already has transaction, it will be rolled back. + + Not supported, see issue. + Database transaction object. + + + + Gets initial value for database connection configuration name. + + + + + Gets initial value for database connection string. + + + + + Gets database provider implementation. + + + + + Gets or sets context identifier. Uses provider's name by default. + + + + + Gets or sets mapping schema. Uses provider's mapping schema by default. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Contains text of last command, sent to database using current context. + + + + + Gets or sets option to dispose underlying connection after use. + Default value: false. + + + + + Gets or sets status of Multiple Active Result Sets (MARS) feature. This feature available only for + SQL Azure and SQL Server 2005+. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed through current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed through current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before underlying connection closed on context disposal or closing. + Not fired, if context doesn't have active connection (bug?). + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Executes query asynchronously and returns number of affected records. + + Asynchronous operation cancellation token. + Number of affected records. + + + + Executes query asynchronously and returns scalar value. + + Asynchronous operation cancellation token. + Scalar value. + + + + Executes query asynchronously and returns data reader. + + Asynchronous operation cancellation token. + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Basic merge builder's validation options set to validate merge operation on SQL:2008 level without specific + database limitations or extensions. + + + + + Allows to add text before generated merge command. + + + + + Allows to add text after generated merge command. E.g. to specify command terminator if provider requires it. + + + + + Generates SQL and parameters for merge command. + + Returns merge command SQL text. + + + + Validates command configuration to not violate common or provider-specific rules. + + + + + List of generated command parameters. + + + + + If true, command execution must return 0 without request to database. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property should contain name of table with single record. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property could contain name of database for table with single record. + + + + + If set to false and provider doesn't support SELECTs without + FROM clause, this property could contain name of schema for table with single record. + + + + + If true, provider allows to set values of identity columns on insert operation. + + + + + If true, builder will generate command for empty enumerable source; + otherwise command generation will be interrupted and 0 result returned without request to database. + + + + + If true, provider allows to generate subquery as a source element of merge command. + + + + + If true, provider supports column aliases specification after table alias. + E.g. as table_alias (column_alias1, column_alias2). + + + + + If true, provider supports list of VALUES as a source element of merge command. + + + + + If false, parameters in source subquery select list must have type. + + + + + Target table name, ready for use in SQL. Could include database/schema names or/and escaping. + + + + + For providers, that use method to build + UPDATE FROM query, this property should be set to true. + + + + + If true, merge command could include DeleteBySource and UpdateBySource operations. Those operations + supported only by SQL Server. + + + + + If true, merge command could include Delete operation. This operation is a part of SQL 2008 standard. + + + + + Maximum number of oprations, allowed in single merge command. If value is less than one - there is no limits + on number of commands. This option is used by providers that have limitations on number of operations like + SQL Server. + + + + + If true, merge command operations could have predicates. This is a part of SQL 2008 standard. + + + + + If true, merge command could have multiple operations of the same type with predicates with upt to one + command without predicate. This option is used by providers that doesn't allow multiple operations of the + same type like SQL Server. + + + + + When this operation enabled, merge command cannot include Delete or Update operations together with + UpdateWithDelete operation in single command. Also use of Delte and Update operations in the same command + not allowed even without UpdateWithDelete operation. + This is Oracle-specific operation. + + + + + Replaces references to target or source record with references to a anonymous type properties: + 't' for target record, and 's' for source record. + + + + Tuple-typed parameter. + Old target record parameter. + Old source record parameter. + + + + Contains extension methods for merge API. + + + + + Starts merge operation definition from target table. + + Target record type. + Target table. + Returns merge command builder, that contains only target. + + + + Starts merge operation definition from source query. + + Target record type. + Source record type. + Source data query. + Target table. + Returns merge command builder with source and target set. + + + + Adds source query to merge command definition. + + Target record type. + Source record type. + Merge command builder. + Source data query. + Returns merge command builder with source and target set. + + + + Adds source collection to merge command definition. + + Target record type. + Source record type. + Merge command builder. + Source data collection. + Returns merge command builder with source and target set. + + + + Sets target table as merge command source. + + Target record type. + Merge command builder. + Returns merge command builder with source and target set. + + + + Adds definition of matching of target and source records using key value. + + Target record type. + Source record type. + Source and target records join/match key type. + Merge command builder. + Target record match key definition. + Source record match key definition. + Returns merge command builder with source, target and match (ON) set. + + + + Adds definition of matching of target and source records using match condition. + + Target record type. + Source record type. + Merge command builder. + Rule to match/join target and source records. + Returns merge command builder with source, target and match (ON) set. + + + + Adds definition of matching of target and source records using primary key columns. + + Target record type. + Merge command builder. + Returns merge command builder with source, target and match (ON) set. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using data from the same fields of source record + for each new record from source, not processed by previous operations. + + Target and source records type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using data from the same fields of source record + for each new record from source that passes filtering with specified predicate, if it wasn't + processed by previous operations. + + Target and source records type. + Merge command builder interface. + Operation execution condition over source record. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using user-defined values for target columns + for each new record from source, not processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Create record expression using source record. Expression should be a call to target + record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new insert operation to merge and returns new merge command with added operation. + This operation inserts new record to target table using user-defined values for target columns + for each new record from source that passes filtering with specified predicate, if it wasn't + processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over source record. + Create record expression using source record. Expression should be a call to target + record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target, if it wasn't processed by previous operations. + + Target and source records type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + + Target and source records type. + Merge command builder interface. + Operation execution condition over target and source records. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + Adds new update operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target and source records. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target, if it wasn't processed by previous operations. + After that it removes updated records if they are matched by delete predicate. + + Target and source records type. + Merge command builder interface. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using data from the same fields of source record + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + After that it removes updated records if they are matched by delete predicate. + + Target and source records type. + Merge command builder interface. + Update execution condition over target and source records. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target, if it wasn't processed by previous operations. + After that it removes updated records if they matched by delete predicate. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Oracle Database. + Adds new update with delete operation to merge and returns new merge command with added operation. + This operation updates record in target table using user-defined values for target columns + for each record that was matched in source and target and passes filtering with specified predicate, + if it wasn't processed by previous operations. + After that it removes updated records if they matched by delete predicate. + + Target record type. + Source record type. + Merge command builder interface. + Update execution condition over target and source records. + Update record expression using target and source records. + Expression should be a call to target record constructor with field/properties initializers to be recognized by API. + Delete execution condition over updated target and source records. + Returns new merge command builder with new operation. + + + + Adds new delete operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched in source and target, + if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + Adds new delete operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched in source and target, + if it was matched by operation predicate and wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target and source records. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new update by source operation to merge and returns new merge command with added operation. + This operation updates record in target table for each record that was matched only in target + using user-defined values for target columns, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Update record expression using target record. Expression should be a call to + target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new update by source operation to merge and returns new merge command with added operation. + This operation updates record in target table for each record that was matched only in target + using user-defined values for target columns, if it passed filtering by operation predicate and + wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target record. + Update record expression using target record. Expression should be a call to + target record constructor with field/properties initializers to be recognized by API. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new delete by source operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched only in target + and wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Returns new merge command builder with new operation. + + + + IMPORTANT: This operation supported only by Microsoft SQL Server. + Adds new delete by source operation to merge and returns new merge command with added operation. + This operation removes record in target table for each record that was matched only in target + and passed filtering with operation predicate, if it wasn't processed by previous operations. + + Target record type. + Source record type. + Merge command builder interface. + Operation execution condition over target record. + Returns new merge command builder with new operation. + + + + Executes merge command and returns total number of target records, affected by merge operations. + + Target record type. + Source record type. + Merge command definition. + Returns number of target table records, affected by merge comand. + + + + Executes merge command and returns total number of target records, affected by merge operations. + + Target record type. + Source record type. + Merge command definition. + Asynchronous operation cancellation token. + Returns number of target table records, affected by merge comand. + + + + Merge command builder that have only target table configured. + Only operation available for this type of builder is source configuration. + + Target record type. + + + + Merge command builder that have only target table and source configured. + Only operation available for this type of builder is match (ON) condition configuration. + + Target record type. + Source record type. + + + + Merge command builder that have target table, source and match (ON) condition configured. + You can only add operations to this type of builder. + + Target record type. + Source record type. + + + + Merge command builder that have target table, source, match (ON) condition and at least one operation configured. + You can add more operations to this type of builder or execute command. + + Target record type. + Source record type. + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + The return type of . + The result from the operation. + + + + Executes the specified asynchronous operation and returns the result. + + + 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. + + + + + Creates a new instance of . + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Executes the specified operation and returns the result. + + + A delegate representing an executable operation that returns the result of type . + + The return type of . + The result from the operation. + + + + Executes the specified asynchronous operation and returns the result. + + + 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. + + + 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 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. + + + + + 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. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent before failing is 26 seconds plus the random factor. + + + + + Creates a new instance of . + + The maximum number of retry attempts. + + + + Creates a new instance of . + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + Additional SQL error numbers that should be considered transient. + + + + Detects the exceptions caused by SQL Server transient failures. + + + + + Implements persistent database connection abstraction over different database engines. Could be initialized using connection string name or connection string, + or attached to existing connection or transaction. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Creates database connection object that uses default connection configuration from property. + + + + + Creates database connection object that uses default connection configuration from property and provided mapping schema. + + Mapping schema to use with this connection. + + + + Creates database connection object that uses provided connection configuration and mapping schema. + + Name of database connection configuration to use with this connection. + In case of null, configuration from property will be used. + Mapping schema to use with this connection. + + + + Creates database connection object that uses provided connection configuration. + + Name of database connection configuration to use with this connection. + In case of null, configuration from property will be used. + + + + Creates database connection object that uses specified database provider, connection string and mapping schema. + + Name of database provider to use with this connection. class for list of providers. + Database connection string to use for connection with database. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection string. + + Name of database provider to use with this connection. class for list of providers. + Database connection string to use for connection with database. + + + + Creates database connection object that uses specified database provider, connection string and mapping schema. + + Database provider implementation to use with this connection. + Database connection string to use for connection with database. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection string. + + Database provider implementation to use with this connection. + Database connection string to use for connection with database. + + + + Creates database connection object that uses specified database provider, connection and mapping schema. + + Database provider implementation to use with this connection. + Existing database connection to use. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and connection. + + Database provider implementation to use with this connection. + Existing database connection to use. + + + + Creates database connection object that uses specified database provider, transaction and mapping schema. + + Database provider implementation to use with this connection. + Existing database transaction to use. + Mapping schema to use with this connection. + + + + Creates database connection object that uses specified database provider and transaction. + + Database provider implementation to use with this connection. + Existing database transaction to use. + + + + Gets or sets default connection configuration name. Used by by default and could be set automatically from: + - ; + - first non-global connection string name from ; + - first non-global connection string name passed to method. + + + + + + Gets or sets name of default data provider, used by new connection if user didn't specified provider explicitly in constructor or in connection options. + Initialized with value from .. + + + + + + Sets tracing level for data connections. + + Connection tracing level. + + + + Trace function. By Default use class for logging, but could be replaced to log e.g. to your log file. + First parameter contains trace message. + Second parameter contains context () + + + + + + Registers database provider factory method. + Factory accepts connection string settings and connection string. Could return null, if cannot create provider + instance using provided options. + + Factory method delegate. + + + + Registers database provider implementation by provided unique name. + + Provider name, to which provider implementation will be mapped. + Database provider implementation. + + + + Registers database provider implementation using name. + + Database provider implementation. + + + + Returns database provider implementation, associated with provided connection configuration name. + + Connection configuration name. + Database provider. + + + + Register connection strings for use by data connection class. + + Collection of connection string configurations. + + + + Register connection configuration with specified connection string and database provider implementation. + + Connection configuration name. + Connection string. + Database provider. If not specified, will use provider, registered using value. + + + + Sets connection string for specified connection name. + + Connection name. + Connection string. + + + + Returns connection string for specified connection name. + + Connection name. + Connection string. + + + + Closes and dispose associated underlying database transaction/connection. + + + + + Contains text of last command, sent to database using current connection. + + + + + For internal use only. + + + + + For internal use only. + + + + + Removes cached data mappers. + + + + + Starts new transaction for current connection with default isolation level. If connection already has transaction, it will be rolled back. + + Database transaction object. + + + + Starts new transaction for current connection with specified isolation level. If connection already have transaction, it will be rolled back. + + Transaction isolation level. + Database transaction object. + + + + Commits transaction (if any), associated with connection. + + + + + Rollbacks transaction (if any), associated with connection. + + + + + Adds additional mapping schema to current connection. + + Mapping schema. + Current connection object. + + + + Clones current connection. + + Cloned connection. + + + + Disposes connection. + + + + + Database configuration name (connection string name). + + + + + Database provider implementation for specific database engine. + + + + + Database connection string. + + + + + Retry policy for current connection. + + + + + For internal use only. + + + + + Gets or sets status of Multiple Active Result Sets (MARS) feature. This feature available only for + SQL Azure and SQL Server 2005+. + + + + + Gets or sets trace handler, used for all new connections. + + + + + Gets or sets trace handler, used for current connection instance. + + + + + Gets or sets global data connection trace options. + + + + + Gets or sets default connection settings. By default contains settings from linq2db configuration section from configuration file (not supported by .Net Core). + + + + + + Gets underlying database connection, used by current connection object. + + + + + Event, triggered before connection closed using method. + + + + + Event, triggered after connection closed using method. + + + + + Gets or sets command execution timeout. By default timeout is 0 (infinity). + + + + + Gets or sets command object, used by current connection. + + + + + Gets current transaction, associated with connection. + + + + + Gets maping schema, used for current connection. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed through current connection. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed through current connection. + + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Explicit connection reuse scope. + See for more details. + + + + + Creates connection reuse scope for . + + Data context. + + + + Restores old connection reuse option. + + + + + Basic MERGE operation implementation for all providers. + For provider-specific logic create child class. + + + + + Builds MERGE INTO command text. + For ON condition primary key fields used. + UPDATE operation generated if there are any updateable columns (and only for them): NOT PK AND (identity OR !SkipOnUpdate). + INSERT operation generated for following columns: identity OR !SkipOnInsert. + DELETE operation generated if corresponding flag is set and could include optional condition. It is generated + as WHEN NOT MATCHED BY SOURCE match clause, which is supported only by SQL Server. + + Target table mapping class. + Database connection. + Optional DELETE operation condition. + Should MERGE command include DELETE operation or not. + Source data. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + True if command built and false if source is empty and command execution not required. + + + + Generates USING source statement with direct VALUES. + + Target table mapping class. + Database connection. + Source data collection. + Returns true on success an false if source is empty. + + + + Generates USING source statement using union subquery with dummy select for each source record for databases + that doesn't support VALUES in source. + + Target table mapping class. + Database connection. + Source data collection. + TOP 1 clause equivalent for current database engine. + Database engine-specific dummy table for FROM statement with at least one record. + Returns true on success an false if source is empty. + + + + Executes generated MERGE query against database connection. + + Returns total number of affected records - inserted, updated or deleted. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Returns conext object to wrap calls of Execute* methods. + Using this, provider could e.g. change thread culture during Execute* calls. + Following calls wrapped right now: + DataConnection.ExecuteNonQuery + DataConnection.ExecuteReader. + + Returns disposable scope object. Cannot be null. + + + + The default number of retry attempts. + + + + + The maximum number of retry attempts. + + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Gets or sets a value that indicates whether the bulk copy operation should be aborted. + + + + + Gets a value that returns the number of rows copied during the current bulk copy operation. + + + + + Provides database connection command abstraction. + + + + + Instance of database connection, associated with command. + + + + + Command text. + + + + + Command parameters. + + + + + Type of command. See for all supported types. + Default value: . + + + + + Command behavior flags. See for more details. + Default value: . + + + + + Creates database command instance using provided database connection and command text. + + Database connection instance. + Command text. + + + + Creates database command instance using provided database connection, command text and parameters. + + Database connection instance. + Command text. + List of command parameters. + + + + Creates database command instance using provided database connection, command text and single parameter. + + Database connection instance. + Command text. + Command parameter. + + + + Creates database command instance using provided database connection, command text and parameters. + + Database connection instance. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + + + + Executes command using command type and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns collection of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Asynchronous operation cancellation token. + Returns task with array of query result records. + + + + Executes command asynchronously and apply provided action to each record, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Action, applied to each result record. + Returns task. + + + + Executes command asynchronously and apply provided action to each record, mapped using provided mapping function. + + Result record type. + Record mapping function from data reader. + Action, applied to each result record. + Asynchronous operation cancellation token. + Returns task. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Returns collection of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Asynchronous operation cancellation token. + Returns task with array of query result records. + + + + Executes command asynchronously and apply provided action to each record. + + Result record type. + Action, applied to each result record. + Returns task. + + + + Executes command asynchronously and apply provided action to each record. + + Result record type. + Action, applied to each result record. + Asynchronous operation cancellation token. + Returns task. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Returns collection of query result records. + + + + Executes command using command type and returns number of affected records. + + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Number of records, affected by command execution. + + + + Executes command using command type asynchronously and returns number of affected records. + + Task with number of records, affected by command execution. + + + + Executes command using command type asynchronously and returns number of affected records. + + Asynchronous operation cancellation token. + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Asynchronous operation cancellation token. + Task with number of records, affected by command execution. + + + + Executes command using command type and returns single value. + + Resulting value type. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Task with resulting value. + + + + Executes command using command type asynchronously and returns single value. + + Resulting value type. + Task with resulting value. + + + + Executes command using command type asynchronously and returns single value. + + Resulting value type. + Asynchronous operation cancellation token. + Task with resulting value. + + + + Executes command using command type asynchronously and returns single value. + + Resulting value type. + Asynchronous operation cancellation token. + Task with resulting value. + + + + Executes command using command type and returns data reader instance. + + Data reader object. + + + + Executes command and returns data reader instance. + + Data reader object. + + + + Executes command asynchronously and returns data reader instance. + + Task with data reader object. + + + + Executes command asynchronously and returns data reader instance. + + Asynchronous operation cancellation token. + Task with data reader object. + + + + Clears global cache of object mapping functions from query results and mapping functions from value to . + + + + + Provides a scope, in which LINQ queries will not be added to a LINQ query cache. This could be used to tell + linq2db to not cache queries that operate with big parametes. + More details could be found here. + Take into account that this class only disables adding of new query, created in its scope, to a cache. + If query already present in cache - linq2db will use cached query. + + + + + Creates disposable no-cache scope. + + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Returns path to original directory with provided assembly. + + Assembly. + Assembly directory path. + + + + Returns original path to assembly file. + + Assembly. + Assembly file path. + + + + Converts file path in URI format to absolute path. + + File path in URI format. + Absolute file path. + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Retry policy global settings. + + + + + Retry policy factory method, used to create retry policy for new instance. + If factory method is not set, retry policy is not used. + Not set by default. + + + + + The default number of retry attempts. + Default value: 5. + + + + + The default maximum time delay between retries, must be nonnegative. + Default value: 30 seconds. + + + + + The default maximum random factor, must not be lesser than 1. + Default value: 1.1. + + + + + The default base for the exponential function used to compute the delay between retries, must be positive. + Default value: 2. + + + + + The default coefficient for the exponential function used to compute the delay between retries, must be nonnegative. + Default value: 1 second. + + + + + Status of use of default retry policy. + Getter returns true if default retry policy used, and false if custom retry policy used or retry policy is not set. + Setter sets to default retry policy factory if is true, otherwise removes retry policy. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Implementation of custom configuration section. + + + + + linq2db configuration section. + + + + + Gets list of data providers configuration elements. + + + + + Gets default connection configuration name. + + + + + Gets default data provider configuration name. + + + + + Data provider configuration element. + + + + + Configuration section element. + + + + + Gets a value indicating whether an unknown attribute is encountered during deserialization. + + + True when an unknown attribute is encountered while deserializing. + + The name of the unrecognized attribute. + The value of the unrecognized attribute. + + + + Gets collection of unknown element attributes. + + + + + Creates data provider configuration element. + + + + + Gets an assembly qualified type name of this data provider. + + + + + Gets a name of this data provider. + If not set, is used. + + + + + Gets a value indicating whether the provider is default. + + + + + Collection of data provider configuration elements. + + + + + Collection of configuration section elements. + + Element type. + + + + Gets element from collection by its name. + + Element name. + Element or null, if element with such name is not found. + + + + Gets element from collection by its index. + + Element index. + Element at specified index. + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Contains extension methods for class. + + + + + Creates command wrapper for current connection with provided command text. + + Database connection. + Command text. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and parameters. + + Database connection. + Command text. + Command parameters. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and single parameter. + + Database connection. + Command text. + Command parameter. + Database command wrapper. + + + + Creates command wrapper for current connection with provided command text and parameters. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Database command wrapper. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Asynchronous operation cancellation token. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values, mapped using provided mapping function. + + Result record type. + Database connection. + Record mapping function from data reader. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command using command type and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameter. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Command parameter. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Command parameter. + Asynchronous operation cancellation token. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Command parameter. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Command parameter. + Asynchronous operation cancellation token. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values. + + Result record type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. + Returns collection of query result records. + + + + Executes command and returns results as collection of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns collection of query result records. + + + + Executes command asynchronously and returns list of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Returns task with array of query result records. + + + + Executes command asynchronously and returns list of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with list of query result records. + + + + Executes command asynchronously and returns list of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with list of query result records. + + + + Executes command asynchronously and returns array of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command asynchronously and returns array of values of specified type. + + Result record type. + Database connection. + This value used only for parameter type inference, which makes this method usable with anonymous types. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Returns task with array of query result records. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Number of records, affected by command execution. + + + + Executes command using command type and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Number of records, affected by command execution. + + + + Executes command and returns number of affected records. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Asynchronous operation cancellation token. + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Task with number of records, affected by command execution. + + + + Executes command asynchronously and returns number of affected records. + + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Task with number of records, affected by command execution. + + + + Executes command using command type asynchronously and returns number of affected records. + + Database connection. + Command text. + Command parameters. + Task with number of records, affected by command execution. + + + + Executes command using command type asynchronously and returns number of affected records. + + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Task with number of records, affected by command execution. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameter. + Resulting value. + + + + Executes command and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Resulting value. + + + + Executes command using command type and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Resulting value. + + + + Executes command asynchronously and returns single value. + + Database connection. + Command text. + Resulting value type. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameter. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameter. + Asynchronous operation cancellation token. + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Task with resulting value. + + + + Executes command asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Task with resulting value. + + + + Executes command using command type asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Command parameters. + Task with resulting value. + + + + Executes command using command type asynchronously and returns single value. + + Resulting value type. + Database connection. + Command text. + Asynchronous operation cancellation token. + Command parameters. + Resulting value. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameters. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameter. + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Command parameters. Supported values: + - null for command without parameters; + - single instance; + - array of parameters; + - mapping class entity. + Last case will convert all mapped columns to instances using following logic: + - if column is of type, column value will be used. If parameter name () is not set, column name will be used; + - if converter from column type to is defined in mapping schema, it will be used to create parameter with colum name passed to converter; + - otherwise column value will be converted to using column name as parameter name and column value will be converted to parameter value using conversion, defined by mapping schema. + + Data reader object. + + + + Executes command and returns data reader instance. + + Database connection. + Command text. + Type of command. See for all supported types. + Command behavior flags. See for more details. + Command parameters. + Data reader object. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + Operation options. + Records to insert. + Bulk insert operation status. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + TODO + Records to insert. + Bulk insert operation status. + + + + Performs bulk insert operation. + + Mapping type of inserted record. + Database connection. + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table specified in parameter or into table, identified by . + + Mapping type of inserted record. + Target table. + Operation options. + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table, identified by . + + Mapping type of inserted record. + Target table. + TODO + Records to insert. + Bulk insert operation status. + + + + Performs bulk intert operation into table, identified by . + + Mapping type of inserted record. + Target table. + Records to insert. + Bulk insert operation status. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only for with Server. + + Target table mapping class. + Data connection instance. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only with SQL Server. + + Target table mapping class. + Target table. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations in specified order: + - Update + - Insert. + + Target table mapping class. + Target table. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Returns number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only with SQL Server. + + Target table mapping class. + Data connection instance. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert. + + Target table mapping class. + Data connection instance. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Source data to merge into target table. All source data will be loaded from server for command generation. + Filter, applied both to source and delete operation. Required. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source. + Method could be used only with SQL Server. + + Target table mapping class. + Target table. + Filter, applied to delete operation. Optional. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert + - Delete By Source (optional). + If delete operation enabled by parameter - method could be used only with SQL Server. + + Target table mapping class. + Target table. + If true, merge command will include delete by source operation without condition. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Executes following merge operations asynchronously in specified order: + - Update + - Insert. + + Target table mapping class. + Target table. + Source data to merge into target table. + Optional target table name. + Optional target table's database name. + Optional target table's schema name. + Optional asynchronous operation cancellation token. + Task with number of affected target records. + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Enumerate types for cached s + + + + + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or + destination. + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Explicit data context transaction wrapper. + + + + + Creates new transaction wrapper. + + Data context. + + + + Start new transaction with default isolation level. + If underlying connection already has transaction, it will be rolled back. + + + + + Start new transaction with specified isolation level. + If underlying connection already has transaction, it will be rolled back. + + Transaction isolation level. + + + + Commits started transaction. + + + + + Rollbacks started transaction. + + + + + Rollbacks started transaction (if any). + + + + + Gets or sets transaction's data context. + + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts record asynchronously into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Asynchronously inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Asynchronously updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Asynchronously deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Asynchronously creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Optional asynchronous operation cancellation token. + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Asynchronously drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + Initializes a new instance of the class + with serialized data. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + This constructor is called during deserialization to + reconstitute the exception object transmitted over a stream. + + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Loads scalar value or record from database without explicit table source asynchronously. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update operation asynchronously for already configured update query. + + Updated table record type. + Update query. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table asynchronously. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query asynchronously. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table asynchronously. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Drops database table asynchronously. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query asynchronously. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Selects record at specified position from source query asynchronously. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Clears query caches for all typed queries. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + 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 The '{0}' must be an interface.. + + + + + Looks up a localized string similar to Can not figure out the target method for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to Parameter 'cacheAspectType' must be of CacheAspect type. + + + + + Looks up a localized string similar to Invalid cast from {0} to {1}. + + + + + Looks up a localized string similar to Index has more then one field for the method '{0}.{1}'. Use CompoundValue as the Key type. + + + + + Looks up a localized string similar to Key type for the method '{0}.{1}' can be of type object or CompoundValue.. + + + + + Looks up a localized string similar to Index is not defined for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to DbManager object is not provided.. + + + + + Looks up a localized string similar to Key type for the method '{0}.{1}' can be of type object, CompoundValue, or a scalar type.. + + + + + Looks up a localized string similar to Can not determine object type for the method '{0}.{1}'. + + + + + Looks up a localized string similar to Cannot create an instance of the type '{0}'. + + + + + Looks up a localized string similar to ExecuteNonQuery does not support the Destination attribute. + + + + + Looks up a localized string similar to DataSetTable attribute for method '{0}.{1}' may not be an index. + + + + + Looks up a localized string similar to The type '{0}' does not have 'Equals' method. + + + + + Looks up a localized string similar to The return type '{0}' of the method '{1}' is incompatible with the destination parameter type '{2}'.. + + + + + Looks up a localized string similar to ExecuteScalar destination must be an out or a ref parameter.. + + + + + Looks up a localized string similar to Scalar field name is not defined for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to More then one parameter is marked as destination. + + + + + Looks up a localized string similar to No such parameter: '{0}'. + + + + + Looks up a localized string similar to DataSet must be initialized before calling Update routine. Cannot update database from a null dataset.. + + + + + Looks up a localized string similar to DataTable must be initialized before calling Update routine. Cannot update database from a null data table.. + + + + + Looks up a localized string similar to The connection does not match the data provider type.. + + + + + Looks up a localized string similar to dataProvider.ConnectionType must be a valid connection type. + + + + + Looks up a localized string similar to dataProvider.Name must be a valid string. + + + + + Looks up a localized string similar to dataProvider.ProviderName must be a valid string. + + + + + Looks up a localized string similar to providerName must be a valid string. + + + + + Looks up a localized string similar to Parameter count does not match Parameter Value count.. + + + + + Looks up a localized string similar to Both `{0}' and `{1}' data providers are default. + + + + + Looks up a localized string similar to Only objects of type IDbDataParameter or arrays of IDbDataParameter are supported. + + + + + Looks up a localized string similar to The '{0}' key does not exist in the configuration file.. + + + + + Looks up a localized string similar to The '{0}' type of the connection could not be recognized.. + + + + + Looks up a localized string similar to A suitable data provider is not available for configuration '{0}'.. + + + + + Looks up a localized string similar to The interface must be public.. + + + + + Looks up a localized string similar to 'interfaceType' must be an interface.. + + + + + Looks up a localized string similar to Invalid number of 'baseObjectTypes' or 'objs'.. + + + + + Looks up a localized string similar to '{0}' is not a subtype of '{1}'.. + + + + + Looks up a localized string similar to Failed to query type '{0}' for method '{1}'.. + + + + + Looks up a localized string similar to Type '{0}' is not expected.. + + + + + Looks up a localized string similar to MethodInfo can not be changed.. + + + + + Looks up a localized string similar to Type '{0}' does not contain field '{1}'.. + + + + + Looks up a localized string similar to At least one field name or index must be specified. + + + + + Looks up a localized string similar to At least one field index must be specified. + + + + + Looks up a localized string similar to At least one field name must be specified. + + + + + Looks up a localized string similar to Can not convert array of type '{0}' to array of '{1}'.. + + + + + Looks up a localized string similar to The index parameter must be greater or equal to zero.. + + + + + Looks up a localized string similar to Name must be a valid string.. + + + + + Looks up a localized string similar to Can not figure out the overloaded method for the method '{0}.{1}'.. + + + + + Looks up a localized string similar to The '{0}' type does not have appropriate getter. See '{1}' member '{2}' of '{3}' type.. + + + + + Looks up a localized string similar to The '{0}' type does not have appropriate setter. See '{1}' member '{2}' of '{3}' type.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: generic type '{2}' and it's generic parameter types should have only one parameter type.. + + + + + Looks up a localized string similar to Could not build the '{0}' type: default constructor not found.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have constructor taking type '{3}'.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have public constructor.. + + + + + Looks up a localized string similar to Could not build the '{0}' property of the '{1}' type: type '{2}' has to have public default constructor.. + + + + + Looks up a localized string similar to Type '{0}' must implement required public method '{1}'. + + + + + Looks up a localized string similar to Type '{0}' does not implement public method '{1}'. + + + + + Looks up a localized string similar to The method '{0}' of '{1}' has parameter '{2}' wich can't be handled. Please specify attrbutes [Parent] or [PropertyInfo] to get access to them.. + + + + + Looks up a localized string similar to Could not build the '{0}' type.. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/net45/linq2db.dll b/packages/linq2db.1.10.0/lib/net45/linq2db.dll new file mode 100644 index 0000000..681125c Binary files /dev/null and b/packages/linq2db.1.10.0/lib/net45/linq2db.dll differ diff --git a/packages/linq2db.1.10.0/lib/net45/linq2db.pdb b/packages/linq2db.1.10.0/lib/net45/linq2db.pdb new file mode 100644 index 0000000..361588b Binary files /dev/null and b/packages/linq2db.1.10.0/lib/net45/linq2db.pdb differ diff --git a/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.XML b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.XML new file mode 100644 index 0000000..ff35f1a --- /dev/null +++ b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.XML @@ -0,0 +1,6086 @@ + + + + linq2db.WindowsStore + + + + + Provides helper methods for asynchronous operations. + + + + + Executes provided action using task scheduler. + + Action to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided action to each element in source sequence. + Sequence elements processed sequentially. + + Source sequence element type. + Source sequence. + Action to apply to each sequence element. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided function to each element in source sequence sequentially. + Sequence enumeration stops if function returns false. + + Source sequence element type. + Source sequence. + Function to apply to each sequence element. Returning false from function will stop numeration. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously loads data from query to a list. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + List with query results. + + + + Asynchronously loads data from query to an array. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + Array with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Simple hash using pseudo-random coefficients for each byte in + the array to achieve order dependency. + + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts record asynchronously into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Asynchronously inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Asynchronously updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Asynchronously deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Asynchronously creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Optional asynchronous operation cancellation token. + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Asynchronously drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Executes query asynchronously and returns number of affected records. + + Asynchronous operation cancellation token. + Number of affected records. + + + + Executes query asynchronously and returns scalar value. + + Asynchronous operation cancellation token. + Scalar value. + + + + Executes query asynchronously and returns data reader. + + Asynchronous operation cancellation token. + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Loads scalar value or record from database without explicit table source asynchronously. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update operation asynchronously for already configured update query. + + Updated table record type. + Update query. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table asynchronously. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query asynchronously. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table asynchronously. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Drops database table asynchronously. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query asynchronously. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Selects record at specified position from source query asynchronously. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + Clears query caches for all typed queries. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Enumerate types for cached s + + + + + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.dll b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.dll new file mode 100644 index 0000000..597e8c9 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.dll differ diff --git a/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.pdb b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.pdb new file mode 100644 index 0000000..95c8595 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/netcore45/linq2db.WindowsStore.pdb differ diff --git a/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.XML b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.XML new file mode 100644 index 0000000..f83c03c --- /dev/null +++ b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.XML @@ -0,0 +1,5459 @@ + + + + linq2db.Silverlight + + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Simple hash using pseudo-random coefficients for each byte in + the array to achieve order dependency. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Returns path to original directory with provided assembly. + + Assembly. + Assembly directory path. + + + + Returns original path to assembly file. + + Assembly. + Assembly file path. + + + + Converts file path in URI format to absolute path. + + File path in URI format. + Absolute file path. + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Enumerate types for cached s + + + + + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.dll b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.dll new file mode 100644 index 0000000..71e6fdf Binary files /dev/null and b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.dll differ diff --git a/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.pdb b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.pdb new file mode 100644 index 0000000..b5b7ff6 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/sl4/linq2db.Silverlight.pdb differ diff --git a/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.XML b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.XML new file mode 100644 index 0000000..31e3182 --- /dev/null +++ b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.XML @@ -0,0 +1,5511 @@ + + + + linq2db.Silverlight + + + + + Provides helper methods for asynchronous operations. + + + + + Executes provided action using task scheduler. + + Action to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided action to each element in source sequence. + Sequence elements processed sequentially. + + Source sequence element type. + Source sequence. + Action to apply to each sequence element. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided function to each element in source sequence sequentially. + Sequence enumeration stops if function returns false. + + Source sequence element type. + Source sequence. + Function to apply to each sequence element. Returning false from function will stop numeration. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Returns path to original directory with provided assembly. + + Assembly. + Assembly directory path. + + + + Returns original path to assembly file. + + Assembly. + Assembly file path. + + + + Converts file path in URI format to absolute path. + + File path in URI format. + Absolute file path. + + + + Simple hash using pseudo-random coefficients for each byte in + the array to achieve order dependency. + + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Enumerate types for cached s + + + + + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.dll b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.dll new file mode 100644 index 0000000..263719a Binary files /dev/null and b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.dll differ diff --git a/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.pdb b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.pdb new file mode 100644 index 0000000..fe87011 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/sl5/linq2db.Silverlight.pdb differ diff --git a/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.XML b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.XML new file mode 100644 index 0000000..ff35f1a --- /dev/null +++ b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.XML @@ -0,0 +1,6086 @@ + + + + linq2db.WindowsStore + + + + + Provides helper methods for asynchronous operations. + + + + + Executes provided action using task scheduler. + + Action to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation completion task. + + + + Executes provided function using task scheduler. + + Function result type. + Function to execute. + Asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided action to each element in source sequence. + Sequence elements processed sequentially. + + Source sequence element type. + Source sequence. + Action to apply to each sequence element. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously apply provided function to each element in source sequence sequentially. + Sequence enumeration stops if function returns false. + + Source sequence element type. + Source sequence. + Function to apply to each sequence element. Returning false from function will stop numeration. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously loads data from query to a list. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + List with query results. + + + + Asynchronously loads data from query to an array. + + Query element type. + Source query. + Optional asynchronous operation cancellation token. + Array with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Source query. + Source element key selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Asynchronously loads data from query to a dictionary. + + Query element type. + Dictionary key type. + Dictionary element type. + Source query. + Source element key selector. + Dictionary element selector. + Dictionary key comparer. + Optional asynchronous operation cancellation token. + Dictionary with query results. + + + + Empty array instance helper. + + Aray element type. + + + + Static instance of empty array of specific type. + + + + + Contains global linq2db settings. + + + + + If true - non-primitive and non-enum value types (structures) will be treated as scalar types (e.g. ) during mapping; + otherwise they will be treated the same way as classes. + Default value: true. + + + + + If true - data providers will try to use standard ADO.NET interfaces instead of provider-specific functionality when possible. This option could be usefull if you need to intercept + database calls using tools such as MiniProfiler. + Default value: false. + + + + + LINQ query settings. + + + + + Controls how group data for LINQ queries ended with GroupBy will be loaded: + - if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups; + - if false - group data will be loaded when you call enumerator for specific group . + Default value: false. + + + + + Controls behavior of linq2db when there is no updateable fields in Update query: + - if true - query not executed and Update operation returns 0 as number of affected records; + - if false - will be thrown. + Default value: false. + + + + + Controls behavior of linq2db when multiple queries required to load requested data: + - if true - multiple queries allowed; + - if false - will be thrown. + This option required, if you want to select related collections, e.g. using method. + Default value: false. + + + + + Enables generation of test class for each LINQ query, executed while this option is enabled. + This option could be usefull for issue reporting, when you need to provide reproduceable case. + Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged + to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Enables logging of generated mapping expression to data connection tracing infrastructure. + See for more details. + Default value: false. + + + + + Controls behavior, when LINQ query chain contains multiple or calls: + - if true - non-first OrderBy* call will be treated as ThenBy* call; + - if false - OrdredBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. + Default value: false. + + + + + If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. + Attempted optimizations: + - removes duplicate joins by unique target table key; + - removes self-joins by unique key; + - removes left joins if joined table is not used in query. + Default value: true. + + + + + If set to true nullable fields would be checked for IS NULL when comparasion type is NotEqual. + Default value: true. + + public class MyEntity + { + public int? Value; + } + + db.MyEntity.Where(e => e.Value != 10) + + Would be converted to + + SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10 + + + + + + Controls behavior of LINQ query, which ends with GroupBy call. + - if true - will be thrown for such queries; + - if false - behavior is controlled by option. + Default value: false. + + + More details. + + + + + Used to optimize huge logical operations with large number of operands like expr1.and.axpr2...and.exprN into balanced tree. + Without this option, such conditions could lead to . + Default value: false. + + + + + Used to disable LINQ expressions caching for queries. + This cache reduces time, required for query parsing but have several side-effects: + + - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code + + - cache access synchronization could lead to bigger latencies than it saves. + + Default value: false. + + It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be + to call method to cleanup cache after queries, that produce severe memory leaks you need to fix. + + More details. + + + + + Linq over WCF global settings. + + + + + Controls format of type name, sent over WCF: + - if true - name from used; + - if false - name from used. + Default value: false. + + + + + Controls behavior of linq2db, when it cannot load by type name on query deserialization: + - if true - will be thrown; + - if false - type load error will be ignored. + Default value: false. + + + + + Type conversion manager. + + + + + Sets custom converter from to type. + + Source conversion type. + Target conversion type. + Converter expression. + + + + Tries to get converter from to type. + + Source conversion type. + Target conversion type. + Conversion expression or null, of converter not found. + + + + Converts value to type. + + Value to convert. + Target conversion type. + Optional mapping schema. + Converted value. + + + + Converts value to type. + + Target conversion type. + Value to convert. + Optional mapping schema. + Converted value. + + + + Returns true, if expression value is or + + DefaultValue<T>.Value + + + Expression to inspect. + true, if expression represents default value. + + + + Returns type, to which provided enumeration values should be mapped. + + Current mapping schema + Enumeration type. + Underlying mapping type. + + + + Value converter to type. + + Target conversion type. + + + + Converts value from to type. + + Source conversion type. + Value to convert. + Converted value. + + + + Converters provider for value conversion from to type. + + Source conversion type. + Target conversion type. + + + + Gets or sets conversion function as expression. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets or sets conversion function as delegate. + Setter updates both expression and delegate forms of converter. + Assigning null value will reset converter to default conversion logic. + Assigning non-null value will also set converter as default converter. + + + + + Gets conversion function delegate. + + + + + Default value provider. + Default value used for mapping from NULL database value to C# value. + + + + + Returns default value for provided type. + + Type, for which default value requested. + Optional mapping schema to provide mapping information for enum type. + Default value for specific type. + + + + Returns default value for provided type. + + Type, for which default value requested. + Default value for specific type. + + + + Sets default value for provided type. + + Type, for which default value set. + Default value for specific type. + + + + Default value provider for specific type. + Default value used for mapping from NULL database value to C# value. + + Type parameter. + + + + Gets or sets default value for specific type. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred.". + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Option type implementation. + Option type. + + Value type. + + + + Gets value, stored in option. + + + + + Creates option with value. + + Option's value. + Option instance. + + + + Gets value for option. + + + + + Returns true of current option stores value. + + + + + Returns true of current option stores some value instead of . + + + + + Various general-purpose helpers. + + + + + Shortcut extension method for method. + + Format string. + Format parameters. + String, generated from format string using parameters. + + + + Checks that collection is not null and have at least one element. + + Collection to check. + true if collection is null or contains no elements, false otherwise. + + + + Shortcut extension method for method. + + String value to check. + true if string is null or empty, false otherwise. + + + + Simple hash using pseudo-random coefficients for each byte in + the array to achieve order dependency. + + + + + Provides API for compilation and caching of queries for reuse. + + + + + Executes compiled query against provided database connection context. + + Database connection context type. + Query result type. + Database connection context. + Query execution result. + + + + Executes compiled query with one parameter against provided database connection context. + + Database connection context type. + Query parameter type. + Query result type. + Database connection context. + Query parameter value. + Query execution result. + + + + Executes compiled query with two parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Query execution result. + + + + Executes compiled query with three parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Query execution result. + + + + Executes compiled query with four parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Query execution result. + + + + Executes compiled query with five parameters against provided database connection context. + + Database connection context type. + First query parameter type. + Second query parameter type. + Third query parameter type. + Forth query parameter type. + Fifth query parameter type. + Query result type. + Database connection context. + First query parameter value. + Second query parameter value. + Third query parameter value. + Forth query parameter value. + Fifth query parameter value. + Query execution result. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Compiles the query with four parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Query result type. + + + + Compiles the query with five parameters. + + + A generic delegate that represents the compiled query. + + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Type of forth parameter for compiled query. + Type of fifth parameter for compiled query. + Query result type. + + + + Data context extension methods. + + + + + Returns queryable source for specified mapping class for current connection, mapped to database table or view. + + Mapping class type. + Data connection context. + Queryable source. + + + + Returns queryable source for specified mapping class for current connection, mapped to table expression or function. + It could be used e.g. for queries to table-valued functions or to decorate queried table with hints. + + Mapping class type. + Data connection context. + Instance object for method or null for static method. + Method, decorated with expression attribute, based on . + Parameters for method. + Queryable source. + + + + Compiles the query. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Query result type. + + + + Compiles the query with parameter. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of parameter for compiled query. + Query result type. + + + + Compiles the query with two parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Query result type. + + + + Compiles the query with three parameters. + + + A generic delegate that represents the compiled query. + + Data connection context. + The query expression to be compiled. + Type of data context parameter, passed to compiled query. + Type of first parameter for compiled query. + Type of second parameter for compiled query. + Type of third parameter for compiled query. + Query result type. + + + + Inserts record into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Number of affected records. + + + + Inserts record asynchronously into table, identified by mapping class, using values from parameter. + + Mapping class. + Database connection context. + Object with data to insert. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Number of affected records. + + + + Asynchronously inserts new record into table, identified by mapping class, using values from parameter + or update exising record, identified by match on primary key value. + + Mapping class. + Database connection context. + Object with data to insert or update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Asynchronously inserts record into table, identified by mapping class, using values from parameter. + Returns identity value for inserted record as value. + + Mapping class. + Database connection context. + Object with data to insert. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Number of affected records. + + + + Asynchronously updates record in table, identified by mapping class, using values from parameter. + Record to update identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data to update. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Number of affected records. + + + + Asynchronously deletes record in table, identified by mapping class. + Record to delete identified by match on primary key value from value. + + Mapping class. + Database connection context. + Object with data for delete operation. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Created table as queryable source. + + + + Asynchronously creates new table in database for mapping class . + Information about table name, columns names and types is taken from mapping class. + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + Optional replacement for "CREATE TABLE table_name" header. Header is a template with {0} parameter for table name. + Optional SQL, appended to generated create table statement. + Defines how columns nullability flag should be generated: + - - generate only NOT NULL for non-nullable fields. Missing nullability information treated as NULL by database. + - - generate only NULL for nullable fields. Missing nullability information treated as NOT NULL by database. + - - explicitly generate NULL and NOT NULL for all columns. + Default value: . + + Optional asynchronous operation cancellation token. + Created table as queryable source. + + + + Drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + + + + Asynchronously drops table identified by mapping class . + + Mapping class. + Database connection context. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + Asynchronously drops table identified by parameter. + + Mapping class. + Dropped table. + Optional table name to override default table name, extracted from mapping. + Optional database name, to override default database name. See method for support information per provider. + Optional schema/owner name, to override default name. See method for support information per provider. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Asynchronous operation completion task. + + + + True if it is needed to wrap join condition with () + + + INNER JOIN Table2 t2 ON (t1.Value = t2.Value) + + + + + Specifies that Firebird supports literal encoding. Availiable from version 2.5. + + + + + Possible modes for Firebird identifier quotes. + + + + + Do not quote identifiers. + + + + + Always quote identifiers. + + + + + quote identifiers if needed. + + + + + Specifies how identifiers like table and field names should be quoted. + + + By default identifiers will not be quoted. + + + + + List of data types, supported by linq2db. + Provider-level support depends on database capabilities and current implementation + support level and could vary for different providers. + + + + + Undefined data type. + + + + + A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + + + + + A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. + Use VarChar when the database column is varchar(max). + + + + + A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters. + + + + + A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters. + + + + + A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. + Implicit conversion fails if the string is greater than 4,000 characters. + + + + + A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters. + + + + + A fixed-length stream of binary data ranging between 1 and 8,000 bytes. + + + + + A variable-length stream of binary data ranging between 1 and 8,000 bytes. + Implicit conversion fails if the byte array is greater than 8,000 bytes. + + + + + Binary large object. + + + + + A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes. + + + + + A simple type representing Boolean values of true or false. + + + + + A globally unique identifier (or GUID). + + + + + An integral type representing signed 8-bit integers with values between -128 and 127. + + + + + An integral type representing signed 16-bit integers with values between -32768 and 32767. + + + + + An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647. + + + + + An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807. + + + + + An 8-bit unsigned integer ranging in value from 0 to 255. + + + + + An integral type representing unsigned 16-bit integers with values between 0 and 65535. + + + + + An integral type representing unsigned 32-bit integers with values between 0 and 4294967295. + + + + + An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615. + + + + + A floating point number within the range of -3.40E +38 through 3.40E +38. + + + + + A floating point number within the range of -1.79E +308 through 1.79E +308. + + + + + A simple type representing values with fixed precision and scale numbers. + When maximum precision is used, valid values are from -10^38+1 through 10^38-1. + + + + + A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) + with an accuracy to a ten-thousandth of a currency unit. + + + + + A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit. + + + + + A type representing a date value. + + + + + A type representing a time value. + + + + + Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds. + + + + + Date and time data. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + + + + + Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute. + + + + + Date and time data with time zone awareness. + Date value range is from January 1,1 AD through December 31, 9999 AD. + Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. + Time zone value range is -14:00 through +14:00. + + + + + Array of type Byte. + Automatically generated binary numbers, which are guaranteed to be unique within a database. + timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes. + + + + + An XML value. Obtain the XML as a string using the GetValue method or Value property, + or as an XmlReader by calling the CreateReader method. + + + + + A general type representing any reference or value type not explicitly represented by another DataType value. + + + + + A variable-length numeric value. + + + + + A SQL Server 2005 user-defined type (UDT). + + + + + Array of bits. + + + + + Dictionary type for key-value pairs. + + + + + Result set (for example OracleDbType.RefCursor). + + + + + Json type utilized in postgres provider. + + + + + Binary type utilized postgres provider (jsonb). + + + + + Gets or sets the of the parameter. + + + One of the values. The default is . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + + + One of the values. The default is Input. + + + + + Gets or sets the name of the . + + + The name of the . The default is an empty string. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + The maximum size, in bytes, of the data within the column. The default value is inferred from the parameter value. + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. The default value is null. + + + + + When applied to method or property, tells linq2db to replace them in queryable LINQ expression with another expression, + returned by method, specified in this attribute. + + Requirements to expression method: + + - expression method should be in the same class and replaced property of method; + - method could be private. + + + When applied to property, expression: + - method should return function expression with the same return type as property type; + - expression method could take up to two parameters in any order - current object parameter and database connection context object. + + + When applied to method: + - expression method should return function expression with the same return type as method return type; + - method cannot have void return type; + - parameters in expression method should go in the same order as in substituted method; + - expression could take method instance object as first parameter; + - expression could take database connection context object as last parameter; + - last method parameters could be ommited from expression method, but only if you don't add database connection context parameter. + + + + + + Creates instance of attribute. + + Name of method in the same class that returns substitution expression. + + + + Creates instance of attribute. + + Connection configuration, for which this attribute should be taken into account. + Name of method in the same class that returns substitution expression. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Name of method in the same class that returns substitution expression. + + + + + Gets the DebugView internal property value of provided expression. + + Expression to get DebugView. + DebugView value. + + + + Returns the total number of expression items which are matching the given. + . + + Expression-Tree which gets counted. + Predicate which is used to test if the given expression should be counted. + + + + Calls the given for each child node of the . + + + + + Calls the given for each node of the . + If the returns false, no childs of the tested expression will be enumerated. + + + + + Enumerates the expression tree and returns the if it's + contained within the . + + + + + Enumerates the given and returns the first sub-expression + which matches the given . If no expression was found, null is returned. + + + + + Returns the body of but replaces the first parameter of that + lambda expression with the expression. + + + + + Returns the body of but replaces the first two parameters of + that lambda expression with the given replace expressions. + + + + + Enumerates the expression tree of and might + replace expression with the returned value of the given . + + The modified expression. + + + + Generic conversions provider. + Implementation class must be generic, as type parameters will be used for conversion initialization in + method. + + // this conversion provider adds conversion from IEnumerable`T to ImmutableList`T for specific T type parameter + class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider + { + public void SetInfo(MappingSchema mappingSchema) + { + mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>( + t => ImmutableList.Create(t.ToArray())); + } + } + + for more details. + + + + + IMplementation should use this method to provide conversions for generic types with type parameters, used + to instantiate instance of current class. + + Mapping schema, to which conversions should be added. + + + + Used for controlling query caching of custom SQL Functions. + Parameter with this attribute will be evaluated on client side before generating SQL. + + + + + Returns of described by + It us useful when member's declared and reflected types are not the same + + This method searches only properties, fields and methods + to find member info + + or null + + + + Returns an array of custom attributes applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + An array of custom attributes applied to this type, + or an array with zero (0) elements if no attributes have been applied. + + + + Retrieves a custom attribute applied to a type. + + A type instance. + The type of attribute to search for. + Only attributes that are assignable to this type are returned. + A reference to the first custom attribute of type attributeType + that is applied to element, or null if there is no such attribute. + + + + Gets a value indicating whether a type (or type's element type) + instance can be null in the underlying data store. + + A instance. + True, if the type parameter is a closed generic nullable type; otherwise, False. + Arrays of Nullable types are treated as Nullable types. + + + + Returns the underlying type argument of the specified type. + + A instance. + + The type argument of the type parameter, + if the type parameter is a closed generic nullable type. + The underlying Type if the type parameter is an enum type. + Otherwise, the type itself. + + + + + + Determines whether the specified types are considered equal. + + A instance. + A type possible derived from the parent type + True, when an object instance of the type child + can be used as an object of the type parent; otherwise, false. + Note that nullable types does not have a parent-child relation to it's underlying type. + For example, the 'int?' type (nullable int) and the 'int' type + aren't a parent and it's child. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets the Type of a list item. + + A instance. + The Type instance that represents the exact runtime type of a list item. + + + + Gets a value indicating whether a type can be used as a db primitive. + + A instance. + + True, if the type parameter is a primitive type; otherwise, False. + . . + . . are specially handled by the library + and, therefore, can be treated as scalar types. + + + + Returns an array of Type objects that represent the type arguments + of a generic type or the type parameters of a generic type definition. + + A instance. + Non generic base type. + An array of Type objects that represent the type arguments + of a generic type. Returns an empty array if the current type is not a generic type. + + + + Database connection abstraction interface. + + + + + Returns column value reader expression. + + Current mapping schema. + Data reader instance. + Column index. + Data reader accessor expression. + Expected value type. + Column read expression. + + + + Returns true, of data reader column could contain value. + + Data reader instance. + Column index. + true or null if column could contain . + + + + Clones current context. + + Cloned context. + + + + Closes context connection and disposes underlying resources. + + + + + Returns query runner service for current context. + + Query batch object. + Index of query in query batch. + Query results mapping expression. + Query parameters. + Query runner service. + + + + Provider identifier. + + + + + Gets SQL builder service factory method for current context data provider. + + + + + Gets SQL optimizer service factory method for current context data provider. + + + + + Gets SQL support flags for current context data provider. + + + + + Gets data reader implementation type for current context data provider. + + + + + Gets maping schema, used for current context. + + + + + Gets or sets option to force inline parameter values as literals into command text. If parameter inlining not supported + for specific value type, it will be used as parameter. + + + + + Gets list of query hints (writable collection), that will be used for all queries, executed using current context. + + + + + Gets list of query hints (writable collection), that will be used only for next query, executed using current context. + + + + + Gets or sets flag to close context after query execution or leave it open. + + + + + Event, triggered before context connection closed using method. + + + + + Executes query and returns number of affected records. + + Number of affected records. + + + + Executes query and returns scalar value. + + Scalar value. + + + + Executes query and returns data reader. + + Data reader with query results. + + + + Executes query asynchronously and returns number of affected records. + + Asynchronous operation cancellation token. + Number of affected records. + + + + Executes query asynchronously and returns scalar value. + + Asynchronous operation cancellation token. + Scalar value. + + + + Executes query asynchronously and returns data reader. + + Asynchronous operation cancellation token. + Data reader with query results. + + + + Returns SQL text for query. + + Query SQL text. + + + + Mapping schema. + + + + + Creates mapping schema instance. + + + + + Creates mapping schema, derived from other mapping schemas. + + Base mapping schemas. + + + + Creates mapping schema for specified configuration name. + + Mapping schema configuration name. + for standard names. + + + + Creates mapping schema with specified configuration name and base mapping schemas. + + Mapping schema configuration name. + for standard names. + Base mapping schemas. + + + + Sets value to SQL converter action for specific value type. + + Value type. + Converter action. Action accepts three parameters: + - SQL string builder to write generated value SQL to; + - value SQL type descriptor; + - value. + + + + + Returns default value for specified type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Returns default value for type. + + + + Sets default value for specific type. + Default value is a value, used instead of NULL value, read from database. + + Value type. + Default value. + + + + Returns true, if value of specified type could contain null. + + Value type. + Returns true if specified type supports null values. + + + + Sets null value support flag for specified type. + + Value type. + If true, specified type value could contain null. + + + + Initialize generic conversions for specific type parameter. + + Generic type parameter, for which converters should be initialized. + + + + Initialize generic conversions for specific type parameters. + + Generic type parameters. + Returns true if new generic type conversions could have added to mapping schema. + + + + Adds generic type conversions provider. + Type converter must implement interface. + for more details and examples. + + Generic type conversions provider. + + + + Converts value to specified type. + + Target type. + Value to convert. + Converted value. + + + + Converts value to specified type. + + Value to convert. + Target type. + Converted value. + + + + Converts enum value to database value. + + Enum value. + Database value. + + + + Returns custom value conversion expression from type to type if it + is defined in mapping schema, or null otherwise. + + Source type. + Target type. + Conversion expression or null, if conversion is not defined. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion expression from type to type. + + Source type. + Target type. + If true, and source type could contain null, conversion expression will check converted value for null and replace it with default value. + for more details. + + Create new conversion expression, if conversion is not defined. + Conversion expression or null, if there is no such conversion and is false. + + + + Returns conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + Conversion expression. + If true, conversion expression will be wrapped with default value substitution logic for null values. + Wrapper will be added only if source type can have null values and conversion expression doesn't use + default value provider. + See and types for more details. + + + + + Specify conversion expression for conversion from type to type. + + Source type. + Target type. + null values conversion expression. + Conversion expression. + + + + Specify conversion delegate for conversion from type to type. + + Source type. + Target type. + Conversion delegate. + + + + Set conversion expressions for conversion from and to string for basic types + (byte, sbyte, short, ushort, int, uint, long, ulong + , float, double, decimal, DateTime, DateTimeOffset) + using provided culture format providers. + + Culture with format providers for conversions. + + + + Adds additional metadata attributes provider to current schema. + + Metadata attributes provider. + + + + Gets attributes of specified type, associated with specified type. + + Attribute type. + Attributes owner type. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attributes owner member. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + + Attribute type. + Attribute owner type. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + + Attribute type. + Member's owner type. + Attribute owner member. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attributes of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attributes owner type. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attributes of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attributes owner member. + Attribute configuration name provider. + If true - include inherited attributes. + Attributes of specified type. + + + + Gets attribute of specified type, associated with specified type. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Attribute owner type. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets attribute of specified type, associated with specified type member. + Attributes filtered by schema's configuration names (see ). + + Attribute type. + Member's owner type. + Attribute owner member. + Attribute configuration name provider. + If true - include inherited attribute. + First found attribute of specified type or null, if no attributes found. + + + + Gets fluent mapping builder for current schema. + + Fluent mapping builder. + + + + Default mapping schema, used by LINQ to DB, when more specific mapping schema not provided. + + + + + Returns true, if provided type mapped to scalar database type in current schema. + + Type to check. + true, if type mapped to scalar database type. + + + + Configure how provided type should be handled during mapping to database - as scalar value or composite type. + + Type to configure. + true, if provided type should be mapped to scalar database value. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Default value. See for more details. + Set null value support flag. See for more details. + Optional scalar data type. + + + + Configure provided type mapping to scalar database type. + + Type to configure. + Optional scalar data type. + + + + Returns database type mapping information for specified type. + + Mapped type. + Database type information. + + + + Associate specified type with LINQ to DB data type. + + Mapped type. + LINQ to DB data type. + + + + Associate specified type with database data type. + + Mapped type. + Database data type. + + + + Returns scalar database type mapping information for provided type. + + Mapped type. + Returns true, if type is enum with mapping to null value. + Initial parameter value, passed to this method is not used. + Scalar database type information. + + + + Returns enum type mapping information or null for non-enum types. + + Mapped type. + Mapping values for enum type and null for non-enum types. + + + + Returns mapped entity descriptor. + + Mapped type. + Mapping descriptor. + + + + Returns types for cached s. + + + + Mapping types. + + + + + Returns type, to which provided enumeration type is mapped or null, if type is not configured. + See . + + Enumeration type. + Mapped type or null. + + + + Sets type, to which provided enumeration type should be mapped. + + Enumeration type. + Mapped type. + + + + Gets value to SQL (usually literal) converter. + + + + + Gets or sets metadata attributes provider for current schema. + Metadata providers, shipped with LINQ to DB: + - - aggregation metadata provider over collection of other providers; + - - .NET attributes provider; + - - fluent mappings metadata provider; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - metadata provider that converts attributes to LINQ to DB mapping attributes; + - - XML-based mappings metadata provider. + + + + + Unique schema configuration identifier. For internal use only. + + + + + Gets configurations, associated with current mapping schema. + + + + + Gets or sets column name comparison rules for comparison of column names in mapping with column name, + returned by provider's data reader. + + + + + Table-like queryable source, e.g. table, view or table-valued function. + + Record mapping type. + + + + Contains extension methods for LINQ queries. + + + + + Overrides table or view name with new name for current query. + + Table record mapping class. + Table-like query source. + Name of table. + Table-like query source with new name. + + + + Overrides database name with new name for current query. This call will have effect only for databases that support + database name in fully-qualified table name. + Supported by: Access, DB2, MySQL, PostgreSQL, SAP HANA, SQLite, Informix, SQL Server, Sybase ASE. + Requires schema name (see ): DB2, SAP HANA, PostgreSQL. + PostgreSQL supports only name of current database. + + Table record mapping class. + Table-like query source. + Name of database. + Table-like query source with new database name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Overrides owner/schema name with new name for current query. This call will have effect only for databases that support + owner/schema name in fully-qualified table name. + method is a synonym of this method. + Supported by: DB2, Oracle, PostgreSQL, SAP HANA, Informix, SQL Server, Sybase ASE. + + Table record mapping class. + Table-like query source. + Name of owner/schema. + Table-like query source with new owner/schema name. + + + + Replaces access to a table in generated query with SQL expression. + Example below adds hint to a table. Also see method. + + var tableWithHint = db.Table.WithTableExpression("{0} {1} with (UpdLock)"); + + + Table record mapping class. + Table-like query source. + SQL template to use instead of table name. Template supports two parameters: + - {0} original table name; + - {1} table alias. + + Table-like query source with new table source expression. + + + + Adds table hints to a table in generated query. + Also see method. + + // will produce following SQL code in generated query: table tablealias with(UpdLock) + var tableWithHint = db.Table.With("UpdLock"); + + + Table record mapping class. + Table-like query source. + SQL text, added to WITH({0}) after table name in generated query. + Table-like query source with table hints. + + + + Specifies associations, that should be loaded for each loaded record from current table. + All associations, specified in expression, will be loaded. + Take into account that use of this method could require multiple queries to load all requested associations. + Some usage examples: + + // loads records from Table1 with Reference association loaded for each Table1 record + db.Table1.LoadWith(r => r.Reference); + + // loads records from Table1 with Reference1 association loaded for each Table1 record + // loads records from Reference2 association for each loaded Reference1 record + db.Table1.LoadWith(r => r.Reference1.Reference2); + + // loads records from Table1 with References collection association loaded for each Table1 record + db.Table1.LoadWith(r => r.References); + + // loads records from Table1 with Reference1 collection association loaded for each Table1 record + // loads records from Reference2 collection association for each loaded Reference1 record + // loads records from Reference3 association for each loaded Reference2 record + // note that a way you access collection association record (by index, using First() method) doesn't affect + // query results and allways select all records + db.Table1.LoadWith(r => r.References1[0].References2.First().Reference3); + + + Table record mapping class. + Table-like query source. + Association selection expression. + Table-like query source. + + + + Loads scalar value or record from database without explicit table source. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Loads scalar value or record from database without explicit table source asynchronously. + Could be usefull for function calls, querying of database variables or properties, subqueries, execution of code on server side. + + Type of result. + Database connection context. + Value selection expression. + Requested value. + + + + Executes delete operation, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as filter for records, that should be deleted. + + Mapping class for delete operation target table. + Query that returns records to delete. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes delete operation, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Number of deleted records. + + + + Executes delete operation asynchronously, using source query as initial filter for records, that should be deleted, and predicate expression as additional filter. + + Mapping class for delete operation target table. + Query that returns records to delete. + Filter expression, to specify what records from source should be deleted. + Optional asynchronous operation cancellation token. + Number of deleted records. + + + + Executes update-from-source operation against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter. + + Updated table record type. + Source data query. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update operation asynchronously using source query as record filter with additional filter expression. + + Updated table record type. + Source data query. + Filter expression, to specify what records from source query should be updated. + Update expression. Uses updated record as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update operation for already configured update query. + + Updated table record type. + Update query. + Number of updated records. + + + + Executes update operation asynchronously for already configured update query. + + Updated table record type. + Update query. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Executes update-from-source operation against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Number of updated records. + + + + Executes update-from-source operation asynchronously against target table. + Also see method. + + Source query record type. + Target table mapping class. + Source data query. + Target table selection expression. + Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of updated records. + + + + Casts query to query. + + Query record type. + Source query. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. Uses updated record as parameter. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Updated field setter expression. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Adds update field expression to query. + + Updated record type. + Updated field type. + Source query with records to update. + Updated field selector expression. + Value, assigned to updated field. + query. + + + + Inserts single record into target table. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts single record into target table asynchronously. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts single record into target table and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts single record into target table asynchronously and returns identity value of inserted record as value. + + Inserted record type. + Target table. + Insert expression. Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Starts insert operation LINQ query definition. + + Target table mapping class. + Database connection context. + Target table. + Insertable source query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Starts insert operation LINQ query definition from field setter expression. + + Target table record type. + Setter field type. + Source table to insert to. + Setter field selector expression. + Setter field value. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Target table record type. + Setter field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes insert query. + + Target table record type. + Insert query. + Number of affected records. + + + + Executes insert query asynchronously. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes insert query and returns identity value of inserted record. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Executes insert query asynchronously and returns identity value of inserted record as value. + + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Inserted record's identity value. + + + + Inserts records from source query into target table. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Number of affected records. + + + + Inserts records from source query into target table asynchronously. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts records from source query into target table and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Inserts records from source query into target table asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type + Source query, that returns data for insert operation. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Optional asynchronous operation cancellation token. + Last inserted record's identity value. + + + + Converts LINQ query into insert query with source query data as data to insert. + + Source query record type. + Target table mapping class. + Source data query. + Target table. + Insertable source query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. Accepts source record as parameter. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value expression. + Insert query. + + + + Add field setter to insert operation LINQ query. + + Source record type. + Target record type + Field type. + Insert query. + Setter field selector expression. + Setter field value. + Insert query. + + + + Executes configured insert query. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Executes configured insert query asynchronously and returns identity value of last inserted record as value. + + Source query record type. + Target table record type. + Insert query. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same primary key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Number of affected records. + + + + Asynchronously inserts new record into target table or updates existing record if record with the same key value already exists in target table. + + Table record type. + Target table. + Inserted record constructor expression. + Expression supports only target table record new expression with field initializers. + Updated record constructor expression. + Expression supports only target table record new expression with field initializers. + Accepts updated record as parameter. + Key fields selector to specify what fields and values must be used as key fields for selection between insert and update operations. + Expression supports only target table record new expression with field initializers for each key field. Assigned key field value will be used as key value by operation type selector. + Optional asynchronous operation cancellation token. + Number of affected records. + + + + Drops database table. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Drops database table asynchronously. + + Table record type. + Dropped table. + If false, any exception during drop operation will be silently catched and 0 returned. + This behavior is not correct and will be fixed in future to mask only missing table exceptions. + Tracked by issue. + Default value: true. + Optional asynchronous operation cancellation token. + Number of affected records. Usually -1 as it is not data modification operation. + + + + Limits number of records, returned from query. + + Source table record type. + Source query. + Expression that defines number of records to select. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + Expression that defines SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Limits number of records, returned from query. Allows to specify TAKE clause hints. + Using this method may cause runtime if take hints are not supported by database. + + Source table record type. + Source query. + SQL TAKE parameter value. + hints for SQL TAKE clause. + Query with limit applied. + + + + Ignores first N records from source query. + + Source table record type. + Source query. + Expression that defines number of records to skip. + Query without skipped records. + + + + Selects record at specified position from source query. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query asynchronously. + If query doesn't return enough records, will be thrown. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Source query doesn't have record with specified index. + Record at specified position. + + + + Selects record at specified position from source query. + + Source table record type. + Source query. + Expression that defines index of record to select. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Selects record at specified position from source query asynchronously. + + Source table record type. + Source query. + Expression that defines index of record to select. + Optional asynchronous operation cancellation token. + Record at specified position or default value, if source query doesn't have record with such index. + + + + Filters source query using HAVING SQL clause. + In general you don't need to use this method as linq2db is able to propely identify current context for + method and generate + HAVING clause. + More details. + + Source query record type. + Source query to filter. + Filtering expression. + Filtered query. + + + + Adds ascending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Adds descending sort expression to a query. + If query already sorted, existing sorting will be preserved and updated with new sort. + + Source query record type. + Sort expression type. + Source query. + Sort expression selector. + Sorted query. + + + + Converts query to object, used by merge operation generator. + + Source query record type. + Source query. + Query context object. + + + + Defines inner or outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Type of join. + Join predicate. + Right operand. + + + + Defines inner join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines left outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines right outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Defines full outer join between two sub-queries or tables. + + Type of record for right join operand. + Right join operand. + Join predicate. + Right operand. + + + + Generates test source code for specified query. + This method could be usefull to debug queries and attach test code to linq2db issue reports. + + Query to test. + Should we use real names for used types, members and namespace or generate obfuscated names. + Test source code. + + + + Gets Expression.Equal if and expression types are not same + would be converted to + + + + + + + + + Checks the sequence if the expression is a table or an association. + + + + + Checks the sequence if the expression is an association. + + + + + Checks the sequence if the expression is a table, an association, new {}, or new MyClass {}. + + + + + Checks the sequence if the expression is a group join. + + + + + Checks the sequence if the expression is a field. + + + + + Checks the sequence if the expression contains an SQL expression. + + + + + Checks the context if it's a subquery. + + + + + Checks the context if it's a root of the expression. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance + to a system-supplied message that describes the error, + such as "LinqToDB Linq error has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the exception is thrown. + An System.Object array containing zero or more objects to format. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the exception is thrown. + The InnerException, if any, that threw the current exception. + + + + + + Initializes a new instance of the class + with the InnerException property. + + The InnerException, if any, that threw the current exception. + + + + + Clears query caches for all typed queries. + + + + + LINQ query cache size (per entity type). + + + + + LINQ query cache version. Changed when query added or removed from cache. + Not changed when cache reordered. + + + + + LINQ query cache synchronization object. + + + + + Empties LINQ query cache for entity type. + + + + + Defines relation between tables or views. + Could be applied to: + - instance properties and fields; + - instance and static methods. + + For associations, defined using static methods, this mapping side defined by type of first parameter. + Also, optionally, you can pass data context object as extra method parameter. + + Based on association type - to one or to multiple records - result type should be target record's mapping type or + collection. + + By default associations are used only for joins generation in LINQ queries and will have null value for loaded + records. To load data into association, you should explicitly specify it in your query using method. + + + + + Creates attribute instance. + + + + + Returns value as a list of key member names. + + List of key members. + + + + Returns value as a list of key member names. + + List of key members. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets comma-separated list of association key members on this side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Gets or sets comma-separated list of association key members on another side of association. + Those keys will be used for join predicate generation and must be compatible with keys. + You must specify keys it you do not use custom predicate (see ). + + + + + Specifies static property or method without parameters, that returns join predicate expression. This predicate will be used together with + / join keys, if they are specified. + Predicate expression lambda function takes two parameters: this record and other record and returns boolean result. + + + + + Specify name of property or field to store association value, loaded using method. + When not specified, current association memeber will be used. + + + + + Defines type of join: + - inner join for CanBeNull = false; + - left join for CanBeNull = true. + Default value: true. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + This property is not used by linq2db. + + + + + Stores association descriptor. + + + + + Creates descriptor instance. + + From (this) side entity mapping type. + Association member (field, property or method). + List of names of from (this) key members. + List of names of to (other) key members. + Optional predicate expresssion source property or method. + Optional association value storage field or property name. + If true, association will generate outer join, otherwise - inner join. + + + + Parse comma-separated list of association key column members into string array. + + Comma-separated (spaces allowed) list of association key column members. + Returns array with names of association key column members. + + + + Loads predicate expression from member. + + Type of object that declares association + Type of object associated with expression predicate + null of association has no custom predicate expression or predicate expression, specified + by member. + + + + Gets or sets association member (field, property or method). + + + + + Gets or sets list of names of from (this) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets list of names of to (other) key members. Could be empty, if association has predicate expression. + + + + + Gets or sets optional predicate expresssion source property or method. + + + + + Gets or sets optional association value storage field or property name. Used with LoadWith. + + + + + Gets or sets join type, generated for current association. + If true, association will generate outer join, otherwise - inner join. + + + + + Specifies that current field or property is just an alias to another property or field. + Currently this attribute has several issues: + - you can apply it to class or interface - such attribute will be ignored by linq2db; + - it is possible to define attribute without setting value; + - you can define alias to another alias property or field and potentially create loop. + + + + + Use constructor or specify value. + + + + + Creates attribute instance. + + Name of target property or field. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of target property or field. + + + + + Configures mapping of mapping class member to database column. + Could be applied directly to a property or field or to mapping class/interface. + In latter case you should specify member name using property. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Database column name. + + + + Creates attribute instance. + + Database column name. + Name of mapped member. See for more details. + + + + Copy constructor. + + Name of mapped member. See for more details. + Attribute to clone. + + + + Copy constructor. + + Attribute to clone. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Returns true, if was configured for current attribute. + + true if property was set in attribute. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets the name of a column in database. + If not specified, member name will be used. + + + + + Gets or sets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets or sets linq2db type for column. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets the name of the database column type. + Default value: default type, defined for member type in mapping schema. + + + + + Gets or sets flag that tells that current member should be included into mapping. + Use NonColumnAttribute instead as a shorthand. + Default value: true. + + + + + Gets or sets a storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets or sets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets or sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets or sets whether a column contains values that the database auto-generates. + Also see . + + + + + Gets or sets whether this class member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets or sets the Primary Key order. + See for more details. + + + + + Gets or sets whether a column can contain NULL values. + + + + + Gets or sets the length of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the precision of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Gets or sets the Scale of the database column. + Default value: value, defined for member type in mapping schema. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Stores mapping entity column descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Column attribute, from which descriptor data should be extracted. + Column mapping member accessor. + + + + Extracts column value, converted to database type, from entity object. + + Mapping schema with conversion information. + Enity object to extract column value from. + Returns column value, converted to database type. + + + + Gets column mapping member accessor. + + + + + Gets column mapping member (field or property). + + + + + Gets value storage member (field or property). + + + + + Gets type of column mapping member (field or property). + + + + + Gets type of column value storage member (field or property). + + + + + Gets the name of mapped member. + When applied to class or interface, should contain name of property of field. + + If column is mapped to a property or field of composite object, should contain a path to that + member using dot as separator. + + public class Address + { + public string City { get; set; } + public string Street { get; set; } + public int Building { get; set; } + } + + [Column("city", "Residence.Street")] + [Column("user_name", "Name")] + public class User + { + public string Name; + + [Column("street", ".Street")] + [Column("building_number", MemberName = ".Building")] + public Address Residence { get; set; } + } + + + + + + Gets the name of a column in database. + If not specified, value will be used. + + + + + Gets storage property or field to hold the value from a column. + Could be usefull e.g. in combination of private storage field and getter-only mapping property. + + + + + Gets whether a column contains a discriminator value for a LINQ to DB inheritance hierarchy. + for more details. + Default value: false. + + + + + Gets LINQ to DB type for column. + + + + + Gets the name of the database column type. + + + + + Gets whether a column contains values that the database auto-generates. + + + + + Gets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + + + + Gets whether this member represents a column that is part or all of the primary key of the table. + Also see . + + + + + Gets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + + + + + Gets whether a column can contain null values. + + + + + Gets the length of the database column. + + + + + Gets the precision of the database column. + + + + + Gets the Scale of the database column. + + + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + + + + Gets sequence name for specified column. + + + + + This attribute allows to override default types, defined in mapping schema, for current column. + Also see and . + Applying this attribute to class or interface will have no effect. + + + + + Creates attribute instance. + + linq2db column type name. + + + + Creates attribute instance. + + SQL column type name. + + + + Creates attribute instance. + + linq2db column type name. + SQL column type name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets linq2db type of the database column. + + + + + Gets or sets the name of the database column type. + + + + + Stores mapping entity descriptor. + + + + + Creates descriptor instance. + + Mapping schema, associated with descriptor. + Mapping class type. + + + + Gets mapping type accessor. + + + + + Gets name of table or view in database. + + + + + Gets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current mapping class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + + + + + Gets list of column descriptors for current entity. + + + + + Gets list of association descriptors for current entity. + + + + + Gets mapping dictionary to map column aliases to target columns or aliases. + + + + + Gets list of inheritace mapping descriptors for current entity. + + + + + Gets mapping class type. + + + + + Gets column descriptor by member name. + + Member name. + Returns column descriptor or null, if descriptor not found. + + + + Fluent mapping entity builder. + + Entity mapping type. + + + + Creates enity mapping builder. + + Fluent mapping builder. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + Returns attributes of specified type, applied to current entity type. + + Attribute type. + Returns list of attributes, applied to current entity type. + + + + Returns attributes of specified type, applied to specified entity type. + + Attribute type. + Entity type. + Returns list of attributes, applied to specified entity type. + + + + Returns attributes of specified type, applied to specified entity member. + Member could be inherited from parent classes. + + Attribute type. + Member info object. + Returns list of attributes, applied to specified entity member. + + + + Returns attributes of specified type, applied to current entity type and active for current configuration. + + Attribute type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity type and active for current configuration. + + Attribute type. + Entity type. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Returns attributes of specified type, applied to specified entity member and active for current configuration. + + Attribute type. + Member info object. + Function to extract configuration name from attribute instance. + Returns list of attributes. + + + + Adds mapping attribute to current entity. + + Mapping attribute to add. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent entity mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns new fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column mapping property or field getter expression. + Returns fluent property mapping builder. + + + + Adds association mapping to current entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns fluent property mapping builder. + + + + Adds primary key mapping to current entity. + + Primary key getter expression. + Primary key field order. + When multiple fields specified by getter expression, fields will be ordered from first menthioned + field to last one starting from provided order with step 1. + Returns current fluent entity mapping builder. + + + + Adds identity column mappping to current entity. + + Identity field getter expression. + Returns current fluent entity mapping builder. + + + + Adds column mapping to current entity. + + Column member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Instruct LINQ to DB to not incude specified member into mapping. + + Member getter expression. + Unused. + Returns current fluent entity mapping builder. + + + + Sets database table name for current entity. + + Table name. + Returns current fluent entity mapping builder. + + + + Sets database schema/owner name for current entity, to override default name. + See method for support information per provider. + + Schema/owner name. + Returns current fluent entity mapping builder. + + + + Sets database name, to override default database name. + See method for support information per provider. + + Database name. + Returns current fluent entity mapping builder. + + + + Adds inheritance mapping for specified discriminator value. + + Discriminator value type. + Discriminator member getter expression. + Discriminator value. + Mapping type, used with specified discriminator value. + If true, current mapping type used by default. + Returns current fluent entity mapping builder. + + + + Gets mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + + + + + Fluent mapping builder. + + + + + Creates fluent mapping builder for specified mapping schema. + + Mapping schema. + + + + Gets attributes of type , applied to specified type. + + Attribute type. + Type with attributes. + Returns attributes of specified type, applied to . + + + + Gets attributes of type , applied to specified member. Search for member in specified + type or it's parents. + + Attribute type. + Member owner type. + Member descriptor. + Returns attributes of specified type, applied to . + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified type. + + Target type. + Mapping attribute to add to specified type. + Returns current fluent mapping builder. + + + + Adds mapping attribute to specified member. + + Target member. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Adds mapping attribute to a member, specified using lambda expression. + + Type of labmda expression parameter. + Target member, specified using lambda expression. + Mapping attribute to add to specified member. + Returns current fluent mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity fluent mapping builder. + + + + Gets builder's mapping schema. + + + + + Marks target column as identity column with value, generated on database side during insert operations. + Identity columns will be ignored for insert and update operations with implicit column list like + or + methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Stores inheritance mapping information for single discriminator value. + + + + + Inheritance discriminator value. + + + + + Is it default mapping. + + + + + Mapping class type for current discriminator value. + + + + + Discriminator column descriptor. + + + + + Gets discriminator field or property name. + + + + + Defines to which type linq2db should map record based on discriminator value. You can apply this attribute to + a base class or insterface, implemented by all child classes. + Don't forget to define discriminator value storage column using . + + + You cannot configure inheritance mapping using this attribute for discriminator types, not supported by .NET + attributes. See document + for a list of supported types. + + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets discriminator value. + + + + + Get or sets flag, that tells linq2db that current mapping should be used by default if suitable mapping type not found. + + + + + Gets or sets type, to which record with current discriminator value should be mapped. + + + + + Enumerate types for cached s + + + + + + + + + Stores enum mapping information for single enum value. + + + + + Creates instance of class. + + Mapped enum value. + Enum value mappings. + + + + Gets enum value. + + + + + Gets enum value mappings. + + + + + + Defines bidirectional mapping between enum field value, used on client and database value, stored in database and + used in queries. + Enumeration field could have multiple attributes. + + + Mapping from database value to enumeration performed when you load data from database. Linq2db will search for + enumeration field with with required value. If attribute with such value is not + found, you will receive error. If you cannot specify all possible values using + , you can specify custom mapping using methods like + . + + + Mapping from enumeration value performed when you save it to database or use in query. If your enum field has + multiple attributes, you should mark one of them as default using property. + + + + + + Adds mapping to enum field. If you don't specify property, + null value will be used. + + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + + + + Adds to enum field. + + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Adds to enum field. + + Name of configuration, for which this attribute instance will be used. + Database value, mapped to current enumeration field. + If true, database value from this attribute will be used for mapping + to database value. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Database value, to which current enumeration field will be mapped when used in query or saved to database. + This value, when loaded from database, will be converted to current enumeration field. + + + + + If true, property value will be used for conversion from enumeration to + database value. + + + + + Marks current property or column to be ignored for mapping when explicit column mapping disabled. + See . + + + + + Creates attribute instance. + + + + + Sets nullability flag for current column to false. + See for more details. + + + + + Explicitly specifies that associated column could contain NULL values. + Overrides default nullability flag from current mapping schema for property/field type. + Has lower priority over . + Using this attribute, you can allow NULL values for identity columns. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Nullability flag for current column. + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + Nullability flag for current column. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets nullability flag for current column. + Default value: true. + + + + + Creates attribute isntance. + + + + + Creates attribute isntance. + + Mapping schema configuration name. See . + + + + Marks property or field as a member of primary key for current mapping type. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Column order in composite primary key. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Column order in composite primary key. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets order of current column in composite primary key. + Order is used for query generation to define in which order primary key columns must be mentioned in query + from columns with smallest order value to greatest. + Default value: -1. + + + + + Column or association fluent mapping builder. + + Column or asociation member type. + + + + Creates column or association fluent mapping builder. + + Entity fluent mapping builder. + Column or association member getter expression. + + + + Adds attribute to current mapping member. + + Mapping attribute to add to specified member. + Returns current column or association mapping builder. + + + + Creates entity builder for specified mapping type. + + Mapping type. + Optional mapping schema configuration name, for which this entity builder should be taken into account. + for standard configuration names. + Returns entity mapping builder. + + + + Adds new column mapping to current column's entity. + + Column mapping property or field getter expression. + Returns property mapping builder. + + + + Adds association mapping to current column's entity. + + Association member type. + This association side key type. + Other association side key type. + Association member getter expression. + This association key getter expression. + Other association key getter expression. + Returns association mapping builder. + + + + Marks current column as primary key member. + + Order of property in primary key. + Returns current column mapping builder. + + + + Marks current column as identity column. + + Returns current column mapping builder. + + + + Sets name for current column. + + Column name. + Returns current column mapping builder. + + + + Sets LINQ to DB type for current column. + + Data type. + Returns current column mapping builder. + + + + Sets database type for current column. + + Column type. + Returns current column mapping builder. + + + + Sets custom column create SQL template. + + + Custom template for column definition in create table SQL expression, generated using + methods. + Template accepts following string parameters: + - {0} - column name; + - {1} - column type; + - {2} - NULL specifier; + - {3} - identity specification. + + Returns current column mapping builder. + + + + Adds data storage property or field for current column. + + Name of storage property or field for current column. + Returns current column mapping builder. + + + + Marks current column as discriminator column for inheritance mapping. + + If true - column is used as inheritance mapping discriminator. + Returns current column mapping builder. + + + + Sets whether a column is insertable. + This flag will affect only insert operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit insert operations. + Returns current column mapping builder. + + + + Sets whether a column is updatable. + This flag will affect only update operations with implicit columns specification like + + method and will be ignored when user explicitly specifies value for this column. + + If true - column will be ignored for implicit update operations. + Returns current column mapping builder. + + + + Sets whether a column can contain NULL values. + + If true - column could contain NULL values. + Returns current column mapping builder. + + + + Sets current member to be excluded from mapping. + + Returns current mapping builder. + + + + Sets current member to be included into mapping as column. + + Returns current column mapping builder. + + + + Sets the length of the database column. + + Column length. + Returns current column mapping builder. + + + + Sets the precision of the database column. + + Column precision. + Returns current column mapping builder. + + + + Sets the Scale of the database column. + + Column scale. + Returns current column mapping builder. + + + + Defines relationship types for associations. + See for more details. + + + + + One-to-one relationship. + + + + + One-to-many relationship. + + + + + Many-to-one relationship. + + + + + Overrides default scalar detection for target class or structure. + By default linq2db treats primitives and structs as scalar types. + This attribute allows you to mark class or struct as scalar type or mark struct as non-scalar type. + Also see . + Note that if you marks some type as scalar, you will need to define custom mapping logic between object of + that type and data parameter using methods. + + + + + Creates attribute instance. + + + + + Creates attribute instance. + + Should target type be treated as scalar type or not. + + + + Creates attribute instance. + + Mapping schema configuration name. See . + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Should target type be treated as scalar type or not. + + + + Mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets scalar type flag. + Default value: true. + + + + + Specifies value generation sequence for mapped property of field. + Currently it supported only for: + - Firebird generators; + - Oracle sequences. + + + + + Creates attribute instance. + + Mapping schema configuration name. See . + Sequence generator name. + + + + Creates attribute instance. + + Sequence generator name. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets sequence generator name. + + + + + This attribute is not used by linq2db and will be ignored. + + + + + Maps databse table or view to a class or interface. + You can apply it to any class including non-public, nester or abstract classes. + Applying it to interfaces will allow you to perform queries against target table, but you need to specify + projection in your query explicitly, if you want to select data from such mapping. + + + + + Creates new table mapping atteribute. + + + + + Creates new table mapping atteribute. + + Name of mapped table or view in database. + + + + Gets or sets mapping schema configuration name, for which this attribute should be taken into account. + for standard names. + Attributes with null or empty string value applied to all configurations (if no attribute found for current configuration). + + + + + Gets or sets name of table or view in database. + When not specified, name of class or interface will be used. + + + + + Gets or sets optional schema/owner name, to override default name. See method for support information per provider. + + + + + Gets or sets optional database name, to override default database name. See method for support information per provider. + + + + + Gets or sets column mapping rules for current class or interface. + If true, properties and fields should be marked with one of those attributes to be used for mapping: + - ; + - ; + - ; + - . + Otherwise all supported members of scalar type will be used: + - public instance fields and properties; + - explicit interface implmentation properties. + Also see and . + Default value: true. + + + + + This property currently not implemented and setting it will have no any effect. + + + + + Defines the base class for the namespace exceptions. + + + This class is the base class for exceptions that may occur during + execution of the namespace members. + + + + + Initializes a new instance of the class. + + + This constructor initializes the + property of the new instance such as "A Build Type exception has occurred." + + + + + Initializes a new instance of the class + with the specified error message. + + The message to display to the client when the + exception is thrown. + + + + + Initializes a new instance of the class + with the specified error message and InnerException property. + + The message to display to the client when the + exception is thrown. + The InnerException, if any, that threw + the current exception. + + + + + + Initializes a new instance of the class + with the specified InnerException property. + + The InnerException, if any, that threw + the current exception. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the 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. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + 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 the 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() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + 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). + + + + + 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) + + + + 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. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + 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. + + + + + 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. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + Default names for providers. + + + + + Microsoft Access provider. + Used as configuration name for Access mapping schema . + + + + + IBM DB2 default provider (DB2 LUW). + Used as configuration name for both DB2 base mapping schema . + + + + + IBM DB2 LUW provider. + Used as configuration name for DB2 LUW mapping schema . + + + + + IBM DB2 for z/OS provider. + Used as configuration name for DB2 z/OS mapping schema . + + + + + Firebird provider. + Used as configuration name for Firebird mapping schema . + + + + + Informix provider. + Used as configuration name for Informix mapping schema . + + + + + Microsoft SQL Server default provider (SQL Server 2008). + Used as configuration name for SQL Server base mapping schema . + + + + + Microsoft SQL Server 2000 provider. + Used as configuration name for SQL Server 2000 mapping schema . + + + + + Microsoft SQL Server 2005 provider. + Used as configuration name for SQL Server 2005 mapping schema . + + + + + Microsoft SQL Server 2008 provider. + Used as configuration name for SQL Server 2008 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + Used as configuration name for SQL Server 2012 mapping schema . + + + + + Microsoft SQL Server 2012 provider. + + + + + MySql provider. + Used as configuration name for MySql mapping schema . + + + + + Oracle ODP.NET autodetected provider (native or managed). + Used as configuration name for Oracle base mapping schema . + + + + + Oracle ODP.NET native provider. + Used as configuration name for Oracle native provider mapping schema . + + + + + Oracle ODP.NET managed provider. + Used as configuration name for Oracle managed provider mapping schema . + + + + + PostgreSQL 9.2- data provider. + Used as configuration name for PostgreSQL mapping schema . + + + + + PostgreSQL 9.2- data provider. + + + + + PostgreSQL 9.3+ data provider. + + + + + Microsoft SQL Server Compact Edition provider. + Used as configuration name for SQL CE mapping schema . + + + + + SQLite provider. + Used as configuration name for SQLite mapping schema . + + + + + Sybase ASE provider. + Used as configuration name for Sybase ASE mapping schema . + + + + + SAP HANA provider. + Used as configuration name for SAP HANA mapping schema . + + + + + Provided name should be converted to query parameter name. + For example: + firstName -> @firstName + for the following query: + SELECT * FROM Person WHERE FirstName = @firstName + ^ here + + + + + Provided name should be converted to command parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to stored procedure parameter name. + For example: + firstName -> @firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ here + + + + + Provided name should be converted to query field name. + For example: + FirstName -> [FirstName] + for the following query: + SELECT [FirstName] FROM Person WHERE ID = 1 + ^ and ^ + + + + + Provided name should be converted to query field alias. + For example: + ID -> "ID" + for the following query: + SELECT "ID" as "ID" FROM Person WHERE "ID" = 1 + ^ ^ here + + + + + Provided name should be converted to query database. + For example: + MyDatabase -> [MyDatabase] + for the following query: + SELECT * FROM [MyDatabase]..[Person] + ^ and ^ + + + + + Provided name should be converted to query database. + For example: + dbo -> [dbo] + for the following query: + SELECT * FROM [ dbo ].[Person] + ^ and ^ + + + + + Provided name should be converted to query table name. + For example: + Person -> [Person] + for the following query: + SELECT * FROM [Person] + ^ and ^ + + + + + Provided name should be converted to query table alias. + For example: + table1 -> [table1] + for the following query: + SELECT * FROM [Person] [table1] + ^ and ^ + + + + + Provided stored procedure parameter name should be converted to name. + For example: + @firstName -> firstName + for the following query: + db.Parameter("@firstName") = "John"; + ^ '@' has to be removed + + + + + Gets error number from a native exception. + For example: + SqlException -> SqlException.Number, + OleDbException -> OleDbException.Errors[0].NativeError + + + + + Gets error message from a native exception. + For example: + SqlException -> SqlException.Message, + OleDbException -> OleDbException.Errors[0].Message + + + + + Provider supports: + CROSS JOIN a Supported + + + + + Provider supports: + INNER JOIN a ON 1 = 1 + + + + + Adds column if it is not added yet. + + Returns index of column in Columns list. + + + + This implementation is hack to fix issue 271 + PR. + + + + + Hints for Take + + . + + + + + SELECT TOP 10 PERCENT. + + + + + SELECT TOP 10 WITH TIES. + + + + + Defines join type. Used with join LINQ helpers. + + + + + Inner join. + + + + + Left outer join. + + + + + Right outer join. + + + + + Full outer join. + + +
+
diff --git a/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.dll b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.dll new file mode 100644 index 0000000..597e8c9 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.dll differ diff --git a/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.pdb b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.pdb new file mode 100644 index 0000000..95c8595 Binary files /dev/null and b/packages/linq2db.1.10.0/lib/windows8/linq2db.WindowsStore.pdb differ diff --git a/packages/linq2db.1.10.0/linq2db.1.10.0.nupkg b/packages/linq2db.1.10.0/linq2db.1.10.0.nupkg new file mode 100644 index 0000000..7ea41f0 Binary files /dev/null and b/packages/linq2db.1.10.0/linq2db.1.10.0.nupkg differ diff --git a/packages/linq2db.1.9.0/lib/net40/linq2db.dll b/packages/linq2db.1.9.0/lib/net40/linq2db.dll deleted file mode 100644 index d89c249..0000000 Binary files a/packages/linq2db.1.9.0/lib/net40/linq2db.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/net40/linq2db.pdb b/packages/linq2db.1.9.0/lib/net40/linq2db.pdb deleted file mode 100644 index 4c6e453..0000000 Binary files a/packages/linq2db.1.9.0/lib/net40/linq2db.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/net45/linq2db.dll b/packages/linq2db.1.9.0/lib/net45/linq2db.dll deleted file mode 100644 index 9782d56..0000000 Binary files a/packages/linq2db.1.9.0/lib/net45/linq2db.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/net45/linq2db.pdb b/packages/linq2db.1.9.0/lib/net45/linq2db.pdb deleted file mode 100644 index 5390480..0000000 Binary files a/packages/linq2db.1.9.0/lib/net45/linq2db.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.dll b/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.dll deleted file mode 100644 index 091c05b..0000000 Binary files a/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.pdb b/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.pdb deleted file mode 100644 index 503f274..0000000 Binary files a/packages/linq2db.1.9.0/lib/netcore45/linq2db.WindowsStore.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.dll b/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.dll deleted file mode 100644 index 15f8362..0000000 Binary files a/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.pdb b/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.pdb deleted file mode 100644 index 8eb4955..0000000 Binary files a/packages/linq2db.1.9.0/lib/sl4/linq2db.Silverlight.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.dll b/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.dll deleted file mode 100644 index 42dac3b..0000000 Binary files a/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.pdb b/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.pdb deleted file mode 100644 index d5b1569..0000000 Binary files a/packages/linq2db.1.9.0/lib/sl5/linq2db.Silverlight.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.dll b/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.dll deleted file mode 100644 index 091c05b..0000000 Binary files a/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.dll and /dev/null differ diff --git a/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.pdb b/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.pdb deleted file mode 100644 index 503f274..0000000 Binary files a/packages/linq2db.1.9.0/lib/windows8/linq2db.WindowsStore.pdb and /dev/null differ diff --git a/packages/linq2db.1.9.0/linq2db.1.9.0.nupkg b/packages/linq2db.1.9.0/linq2db.1.9.0.nupkg deleted file mode 100644 index 4ecffe2..0000000 Binary files a/packages/linq2db.1.9.0/linq2db.1.9.0.nupkg and /dev/null differ