gitextract_v6wr0hj4/ ├── .gitattributes ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .gitmodules ├── CHANGES.md ├── DbExtensions.sln ├── LICENSE.txt ├── NOTICE.xml ├── README.md ├── appveyor.yml ├── build/ │ ├── .gitignore │ ├── DbExtensions.shfbproj │ ├── build-docs.ps1 │ ├── ensure-nuget.ps1 │ └── release.ps1 ├── docs/ │ ├── README.md │ ├── SqlBuilder.md │ ├── SqlSet.md │ └── api/ │ ├── DbExtensions/ │ │ ├── AssociationAttribute/ │ │ │ ├── Name.md │ │ │ ├── OtherKey.md │ │ │ ├── README.md │ │ │ ├── ThisKey.md │ │ │ └── _ctor.md │ │ ├── AutoSync/ │ │ │ └── README.md │ │ ├── ChangeConflictException/ │ │ │ ├── README.md │ │ │ └── _ctor.md │ │ ├── ColumnAttribute/ │ │ │ ├── AutoSync.md │ │ │ ├── ConvertTo.md │ │ │ ├── IsDbGenerated.md │ │ │ ├── IsPrimaryKey.md │ │ │ ├── IsVersion.md │ │ │ ├── Name.md │ │ │ ├── README.md │ │ │ └── _ctor.md │ │ ├── ComplexPropertyAttribute/ │ │ │ ├── Name.md │ │ │ ├── README.md │ │ │ ├── Separator.md │ │ │ └── _ctor.md │ │ ├── Database/ │ │ │ ├── Add.md │ │ │ ├── AddAsync.md │ │ │ ├── AsyncMap.md │ │ │ ├── AsyncMap_1.md │ │ │ ├── AsyncMap__1.md │ │ │ ├── AsyncMap__1_1.md │ │ │ ├── Configuration.md │ │ │ ├── Connection.md │ │ │ ├── CreateCommand.md │ │ │ ├── Dispose.md │ │ │ ├── Dispose_1.md │ │ │ ├── EnsureConnectionOpen.md │ │ │ ├── EnsureConnectionOpenAsync.md │ │ │ ├── EnsureInTransaction.md │ │ │ ├── EnsureInTransactionAsync.md │ │ │ ├── EnsureInTransactionAsync_1.md │ │ │ ├── EnsureInTransaction_1.md │ │ │ ├── Execute.md │ │ │ ├── ExecuteAsync.md │ │ │ ├── FindAsync__1.md │ │ │ ├── Find__1.md │ │ │ ├── From.md │ │ │ ├── FromQuery.md │ │ │ ├── FromQuery_1.md │ │ │ ├── FromQuery__1.md │ │ │ ├── FromQuery__1_1.md │ │ │ ├── From_1.md │ │ │ ├── From__1.md │ │ │ ├── LastInsertId.md │ │ │ ├── LastInsertIdAsync.md │ │ │ ├── Map.md │ │ │ ├── Map_1.md │ │ │ ├── Map__1.md │ │ │ ├── Map__1_1.md │ │ │ ├── QuoteIdentifier.md │ │ │ ├── README.md │ │ │ ├── Remove.md │ │ │ ├── RemoveAsync.md │ │ │ ├── Table.md │ │ │ ├── Table__1.md │ │ │ ├── Transaction.md │ │ │ ├── Update.md │ │ │ ├── UpdateAsync.md │ │ │ ├── UpdateAsync_1.md │ │ │ ├── Update_1.md │ │ │ ├── _ctor.md │ │ │ └── _ctor_1.md │ │ ├── DatabaseConfiguration/ │ │ │ ├── CommandTimeout.md │ │ │ ├── DefaultComplexPropertySeparator.md │ │ │ ├── EnableBatchCommands.md │ │ │ ├── LastInsertIdCommand.md │ │ │ ├── Log.md │ │ │ ├── ParameterNameBuilder.md │ │ │ ├── ParameterPlaceholderBuilder.md │ │ │ ├── QuotePrefix.md │ │ │ ├── QuoteSuffix.md │ │ │ ├── README.md │ │ │ └── UseVersionMember.md │ │ ├── Extensions/ │ │ │ ├── GetBoolean.md │ │ │ ├── GetByte.md │ │ │ ├── GetChar.md │ │ │ ├── GetDateTime.md │ │ │ ├── GetDecimal.md │ │ │ ├── GetDouble.md │ │ │ ├── GetFloat.md │ │ │ ├── GetInt16.md │ │ │ ├── GetInt32.md │ │ │ ├── GetInt64.md │ │ │ ├── GetNullableBoolean.md │ │ │ ├── GetNullableBoolean_1.md │ │ │ ├── GetNullableByte.md │ │ │ ├── GetNullableByte_1.md │ │ │ ├── GetNullableChar.md │ │ │ ├── GetNullableChar_1.md │ │ │ ├── GetNullableDateTime.md │ │ │ ├── GetNullableDateTime_1.md │ │ │ ├── GetNullableDecimal.md │ │ │ ├── GetNullableDecimal_1.md │ │ │ ├── GetNullableDouble.md │ │ │ ├── GetNullableDouble_1.md │ │ │ ├── GetNullableFloat.md │ │ │ ├── GetNullableFloat_1.md │ │ │ ├── GetNullableGuid.md │ │ │ ├── GetNullableGuid_1.md │ │ │ ├── GetNullableInt16.md │ │ │ ├── GetNullableInt16_1.md │ │ │ ├── GetNullableInt32.md │ │ │ ├── GetNullableInt32_1.md │ │ │ ├── GetNullableInt64.md │ │ │ ├── GetNullableInt64_1.md │ │ │ ├── GetString.md │ │ │ ├── GetStringOrNull.md │ │ │ ├── GetStringOrNull_1.md │ │ │ ├── GetValue.md │ │ │ ├── GetValueOrNull.md │ │ │ ├── GetValueOrNull_1.md │ │ │ └── README.md │ │ ├── README.md │ │ ├── SQL/ │ │ │ ├── DELETE_FROM.md │ │ │ ├── DELETE_FROM_1.md │ │ │ ├── INSERT_INTO.md │ │ │ ├── INSERT_INTO_1.md │ │ │ ├── README.md │ │ │ ├── SELECT.md │ │ │ ├── SELECT_1.md │ │ │ ├── UPDATE.md │ │ │ ├── UPDATE_1.md │ │ │ ├── WITH.md │ │ │ ├── WITH_1.md │ │ │ ├── WITH_2.md │ │ │ └── WITH_3.md │ │ ├── SqlBuilder/ │ │ │ ├── Append.md │ │ │ ├── AppendClause.md │ │ │ ├── AppendClause__1.md │ │ │ ├── AppendElse.md │ │ │ ├── AppendElseIf.md │ │ │ ├── AppendIf.md │ │ │ ├── AppendLine.md │ │ │ ├── AppendSql.md │ │ │ ├── Append_1.md │ │ │ ├── Buffer.md │ │ │ ├── CROSS_JOIN.md │ │ │ ├── CROSS_JOIN_1.md │ │ │ ├── CROSS_JOIN_2.md │ │ │ ├── Clone.md │ │ │ ├── CurrentClause.md │ │ │ ├── DELETE_FROM.md │ │ │ ├── DELETE_FROM_1.md │ │ │ ├── FROM.md │ │ │ ├── FROM_1.md │ │ │ ├── FROM_2.md │ │ │ ├── FROM_3.md │ │ │ ├── FROM_4.md │ │ │ ├── GROUP_BY.md │ │ │ ├── GROUP_BY_1.md │ │ │ ├── GROUP_BY_2.md │ │ │ ├── HAVING.md │ │ │ ├── HAVING_1.md │ │ │ ├── HAVING_2.md │ │ │ ├── INNER_JOIN.md │ │ │ ├── INNER_JOIN_1.md │ │ │ ├── INNER_JOIN_2.md │ │ │ ├── INSERT_INTO.md │ │ │ ├── INSERT_INTO_1.md │ │ │ ├── InsertText.md │ │ │ ├── IsEmpty.md │ │ │ ├── JOIN.md │ │ │ ├── JOIN_1.md │ │ │ ├── JOIN_2.md │ │ │ ├── JoinSql.md │ │ │ ├── JoinSql_1.md │ │ │ ├── LEFT_JOIN.md │ │ │ ├── LEFT_JOIN_1.md │ │ │ ├── LEFT_JOIN_2.md │ │ │ ├── LIMIT.md │ │ │ ├── LIMIT_1.md │ │ │ ├── LIMIT_2.md │ │ │ ├── LIMIT_3.md │ │ │ ├── NextClause.md │ │ │ ├── OFFSET.md │ │ │ ├── OFFSET_1.md │ │ │ ├── OFFSET_2.md │ │ │ ├── OFFSET_3.md │ │ │ ├── ORDER_BY.md │ │ │ ├── ORDER_BY_1.md │ │ │ ├── ORDER_BY_2.md │ │ │ ├── ParameterValues.md │ │ │ ├── README.md │ │ │ ├── RIGHT_JOIN.md │ │ │ ├── RIGHT_JOIN_1.md │ │ │ ├── RIGHT_JOIN_2.md │ │ │ ├── SELECT.md │ │ │ ├── SELECT_1.md │ │ │ ├── SELECT_2.md │ │ │ ├── SET.md │ │ │ ├── SET_1.md │ │ │ ├── SetCurrentClause.md │ │ │ ├── SetCurrentClause__1.md │ │ │ ├── SetNextClause.md │ │ │ ├── SetNextClause__1.md │ │ │ ├── ToString.md │ │ │ ├── UNION.md │ │ │ ├── UPDATE.md │ │ │ ├── UPDATE_1.md │ │ │ ├── VALUES.md │ │ │ ├── VALUES_1.md │ │ │ ├── WHERE.md │ │ │ ├── WHERE_1.md │ │ │ ├── WHERE_2.md │ │ │ ├── WITH.md │ │ │ ├── WITH_1.md │ │ │ ├── WITH_2.md │ │ │ ├── WITH_3.md │ │ │ ├── _.md │ │ │ ├── _Else.md │ │ │ ├── _ElseIf.md │ │ │ ├── _If.md │ │ │ └── __1.md │ │ ├── SqlClause/ │ │ │ ├── Instance__1.md │ │ │ ├── Name.md │ │ │ ├── README.md │ │ │ ├── Separator.md │ │ │ └── _ctor.md │ │ ├── SqlSet/ │ │ │ ├── All.md │ │ │ ├── AllAsync.md │ │ │ ├── AllAsync_1.md │ │ │ ├── All_1.md │ │ │ ├── Any.md │ │ │ ├── AnyAsync.md │ │ │ ├── AnyAsync_1.md │ │ │ ├── AnyAsync_2.md │ │ │ ├── Any_1.md │ │ │ ├── Any_2.md │ │ │ ├── AsAsyncEnumerable.md │ │ │ ├── AsEnumerable.md │ │ │ ├── Cast.md │ │ │ ├── Cast__1.md │ │ │ ├── Contains.md │ │ │ ├── ContainsAsync.md │ │ │ ├── ContainsKey.md │ │ │ ├── ContainsKeyAsync.md │ │ │ ├── Count.md │ │ │ ├── CountAsync.md │ │ │ ├── CountAsync_1.md │ │ │ ├── CountAsync_2.md │ │ │ ├── Count_1.md │ │ │ ├── Count_2.md │ │ │ ├── Database.md │ │ │ ├── Find.md │ │ │ ├── FindAsync.md │ │ │ ├── First.md │ │ │ ├── FirstAsync.md │ │ │ ├── FirstAsync_1.md │ │ │ ├── FirstAsync_2.md │ │ │ ├── FirstOrDefault.md │ │ │ ├── FirstOrDefaultAsync.md │ │ │ ├── FirstOrDefaultAsync_1.md │ │ │ ├── FirstOrDefaultAsync_2.md │ │ │ ├── FirstOrDefault_1.md │ │ │ ├── FirstOrDefault_2.md │ │ │ ├── First_1.md │ │ │ ├── First_2.md │ │ │ ├── GetAsyncEnumerator.md │ │ │ ├── GetDefiningQuery.md │ │ │ ├── GetEnumerator.md │ │ │ ├── Include.md │ │ │ ├── IncludeMany.md │ │ │ ├── LongCount.md │ │ │ ├── LongCountAsync.md │ │ │ ├── LongCountAsync_1.md │ │ │ ├── LongCountAsync_2.md │ │ │ ├── LongCount_1.md │ │ │ ├── LongCount_2.md │ │ │ ├── OrderBy.md │ │ │ ├── OrderBy_1.md │ │ │ ├── README.md │ │ │ ├── ResultType.md │ │ │ ├── Select.md │ │ │ ├── Select_1.md │ │ │ ├── Select_2.md │ │ │ ├── Select_3.md │ │ │ ├── Select__1.md │ │ │ ├── Select__1_1.md │ │ │ ├── Select__1_2.md │ │ │ ├── Select__1_3.md │ │ │ ├── Single.md │ │ │ ├── SingleAsync.md │ │ │ ├── SingleAsync_1.md │ │ │ ├── SingleAsync_2.md │ │ │ ├── SingleOrDefault.md │ │ │ ├── SingleOrDefaultAsync.md │ │ │ ├── SingleOrDefaultAsync_1.md │ │ │ ├── SingleOrDefaultAsync_2.md │ │ │ ├── SingleOrDefault_1.md │ │ │ ├── SingleOrDefault_2.md │ │ │ ├── Single_1.md │ │ │ ├── Single_2.md │ │ │ ├── Skip.md │ │ │ ├── Take.md │ │ │ ├── ToArray.md │ │ │ ├── ToArrayAsync.md │ │ │ ├── ToList.md │ │ │ ├── ToListAsync.md │ │ │ ├── ToString.md │ │ │ ├── Where.md │ │ │ └── Where_1.md │ │ ├── SqlSet_1/ │ │ │ ├── AsAsyncEnumerable.md │ │ │ ├── AsEnumerable.md │ │ │ ├── Contains.md │ │ │ ├── ContainsAsync.md │ │ │ ├── Find.md │ │ │ ├── FindAsync.md │ │ │ ├── First.md │ │ │ ├── FirstAsync.md │ │ │ ├── FirstAsync_1.md │ │ │ ├── FirstAsync_2.md │ │ │ ├── FirstOrDefault.md │ │ │ ├── FirstOrDefaultAsync.md │ │ │ ├── FirstOrDefaultAsync_1.md │ │ │ ├── FirstOrDefaultAsync_2.md │ │ │ ├── FirstOrDefault_1.md │ │ │ ├── FirstOrDefault_2.md │ │ │ ├── First_1.md │ │ │ ├── First_2.md │ │ │ ├── GetAsyncEnumerator.md │ │ │ ├── GetEnumerator.md │ │ │ ├── Include.md │ │ │ ├── IncludeMany.md │ │ │ ├── IncludeMany__1.md │ │ │ ├── Include_1.md │ │ │ ├── OrderBy.md │ │ │ ├── OrderBy_1.md │ │ │ ├── README.md │ │ │ ├── Single.md │ │ │ ├── SingleAsync.md │ │ │ ├── SingleAsync_1.md │ │ │ ├── SingleAsync_2.md │ │ │ ├── SingleOrDefault.md │ │ │ ├── SingleOrDefaultAsync.md │ │ │ ├── SingleOrDefaultAsync_1.md │ │ │ ├── SingleOrDefaultAsync_2.md │ │ │ ├── SingleOrDefault_1.md │ │ │ ├── SingleOrDefault_2.md │ │ │ ├── Single_1.md │ │ │ ├── Single_2.md │ │ │ ├── Skip.md │ │ │ ├── Take.md │ │ │ ├── ToArray.md │ │ │ ├── ToArrayAsync.md │ │ │ ├── ToList.md │ │ │ ├── ToListAsync.md │ │ │ ├── Where.md │ │ │ └── Where_1.md │ │ ├── SqlTable/ │ │ │ ├── Add.md │ │ │ ├── AddAsync.md │ │ │ ├── AddRange.md │ │ │ ├── AddRangeAsync.md │ │ │ ├── AddRangeAsync_1.md │ │ │ ├── AddRange_1.md │ │ │ ├── Cast__1.md │ │ │ ├── Name.md │ │ │ ├── README.md │ │ │ ├── Refresh.md │ │ │ ├── RefreshAsync.md │ │ │ ├── Remove.md │ │ │ ├── RemoveAsync.md │ │ │ ├── RemoveKey.md │ │ │ ├── RemoveKeyAsync.md │ │ │ ├── RemoveRange.md │ │ │ ├── RemoveRangeAsync.md │ │ │ ├── RemoveRangeAsync_1.md │ │ │ ├── RemoveRange_1.md │ │ │ ├── Update.md │ │ │ ├── UpdateAsync.md │ │ │ ├── UpdateAsync_1.md │ │ │ ├── UpdateRange.md │ │ │ ├── UpdateRangeAsync.md │ │ │ ├── UpdateRangeAsync_1.md │ │ │ ├── UpdateRange_1.md │ │ │ └── Update_1.md │ │ ├── SqlTable_1/ │ │ │ ├── Add.md │ │ │ ├── AddAsync.md │ │ │ ├── AddRange.md │ │ │ ├── AddRangeAsync.md │ │ │ ├── AddRangeAsync_1.md │ │ │ ├── AddRange_1.md │ │ │ ├── Name.md │ │ │ ├── README.md │ │ │ ├── Refresh.md │ │ │ ├── RefreshAsync.md │ │ │ ├── Remove.md │ │ │ ├── RemoveAsync.md │ │ │ ├── RemoveKey.md │ │ │ ├── RemoveKeyAsync.md │ │ │ ├── RemoveRange.md │ │ │ ├── RemoveRangeAsync.md │ │ │ ├── RemoveRangeAsync_1.md │ │ │ ├── RemoveRange_1.md │ │ │ ├── Update.md │ │ │ ├── UpdateAsync.md │ │ │ ├── UpdateAsync_1.md │ │ │ ├── UpdateRange.md │ │ │ ├── UpdateRangeAsync.md │ │ │ ├── UpdateRangeAsync_1.md │ │ │ ├── UpdateRange_1.md │ │ │ └── Update_1.md │ │ └── TableAttribute/ │ │ ├── Name.md │ │ ├── README.md │ │ └── _ctor.md │ └── README.md ├── samples/ │ ├── App/ │ │ ├── App.config │ │ ├── Northwind/ │ │ │ ├── Northwind.mdf │ │ │ ├── Northwind.sl3 │ │ │ └── Northwind_log.ldf │ │ ├── Program.cs │ │ ├── Samples.App.csproj │ │ └── Utilities/ │ │ ├── ObjectDumper-LICENSE.txt │ │ └── ObjectDumper.cs │ └── CSharp/ │ ├── Database.Annotated.cs │ ├── Database.Poco.cs │ ├── Northwind/ │ │ ├── Category.cs │ │ ├── Customer.cs │ │ ├── CustomerCustomerDemo.cs │ │ ├── CustomerDemographic.cs │ │ ├── Employee.cs │ │ ├── EmployeeTerritory.cs │ │ ├── NorthwindDatabase.cs │ │ ├── Order.cs │ │ ├── OrderDetail.cs │ │ ├── Product.cs │ │ ├── Region.cs │ │ ├── Shipper.cs │ │ ├── Supplier.cs │ │ └── Territory.cs │ ├── Samples.CSharp.csproj │ ├── SqlBuilder.cs │ └── SqlSet.cs ├── src/ │ ├── DbExtensions/ │ │ ├── .editorconfig │ │ ├── Attributes.cs │ │ ├── Database.cs │ │ ├── DbExtensions.csproj │ │ ├── DynamicMapper.cs │ │ ├── Extensions.cs │ │ ├── Mapper.cs │ │ ├── Metadata/ │ │ │ ├── Accessors.cs │ │ │ ├── AttributedMetaModel.cs │ │ │ ├── Error.cs │ │ │ ├── MappingSource.cs │ │ │ ├── MappingSystem.cs │ │ │ ├── MetaModel.cs │ │ │ └── TypeSystem.cs │ │ ├── PocoMapper.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── SqlBuilder.cs │ │ ├── SqlSet.Async.cs │ │ ├── SqlSet.cs │ │ ├── SqlTable.Async.cs │ │ ├── SqlTable.SqlSet.cs │ │ └── SqlTable.cs │ ├── DbExtensions-QE/ │ │ ├── DbExtensions-QE.csproj │ │ └── README.md │ ├── DbExtensions.SqlBuilder/ │ │ ├── DbExtensions.SqlBuilder.csproj │ │ └── README.md │ └── DbExtensions.SqlSet/ │ ├── DbExtensions.SqlSet.csproj │ └── README.md └── tests/ └── DbExtensions.Tests/ ├── DbExtensions.Tests.csproj ├── Mapping/ │ ├── DynamicMappingBehavior.cs │ ├── EnumMappingBehavior.cs │ ├── PersistentComplexPropertiesBehavior.cs │ ├── PocoMappingBehavior.cs │ ├── PocoMappingConstructorBehavior.cs │ └── PocoMappingEnumBehavior.cs ├── Metadata/ │ └── AssociationReflection.cs ├── Querying/ │ ├── SqlBuilderBehavior/ │ │ ├── BasicTests.cs │ │ ├── ConditionalAppendTests.cs │ │ ├── ConditionalClauseTests.cs │ │ ├── ExtensibilityTests.cs │ │ └── ValuesClauseTests.cs │ ├── SqlSetAnnotatedBehavior/ │ │ ├── BasicTests.cs │ │ └── IncludeTests.cs │ ├── SqlSetAsyncBehavior.cs │ ├── SqlSetBehavior.cs │ ├── SqlSetBehaviorForSqlServer.cs │ └── SqlTableBehavior.cs └── TestUtil.cs