├── NuGet
├── _._
├── Dashing.Weaver.targets
├── dashing-cli.nuspec
├── Init.ps1
└── dashing-weaver.nuspec
├── _config.yml
├── docs
├── _config.yml
├── dapper.md
├── assets
│ └── css
│ │ └── style.scss
├── configuration.md
├── seeding.md
├── migrations.md
├── queries.md
├── testing.md
├── configuration-indexes.md
├── async-support.md
├── configuration-conventions.md
└── configuration-basics.md
├── dashing-icon.png
├── Dashing
├── AssemblyInfo.cs
├── Events
│ ├── IEventListener.cs
│ ├── IOnPreSaveEventListener.cs
│ ├── IOnPostSaveEventListener.cs
│ ├── IOnPreDeleteEventListener.cs
│ ├── IOnPreInsertEventListener.cs
│ ├── IOnPostDeleteEventListener.cs
│ └── IOnPostInsertEventListener.cs
├── Configuration
│ ├── ISeeder.cs
│ ├── IMapT.cs
│ ├── IConfiguration.cs
│ ├── IndexColumnComparer.cs
│ ├── RelationshipType.cs
│ └── IMapper.cs
├── Migration
│ ├── Statistics.cs
│ ├── IStatisticsProvider.cs
│ ├── StringBuilderExtensions.cs
│ ├── TableNameEqualityComparer.cs
│ ├── IMigrator.cs
│ └── ColumnKeyValuePairEqualityComparer.cs
├── Engine
│ ├── DML
│ │ ├── IAliasProvider.cs
│ │ ├── IAliasProviderFactory.cs
│ │ ├── IInsertWriter.cs
│ │ ├── IDeleteWriter.cs
│ │ ├── IUpdateWriter.cs
│ │ ├── Elements
│ │ │ ├── ISqlElement.cs
│ │ │ ├── StringElement.cs
│ │ │ ├── ConstantElement.cs
│ │ │ └── ColumnElement.cs
│ │ ├── IBulkDeleteWriter.cs
│ │ ├── ICountWriter.cs
│ │ ├── IBulkUpdateWriter.cs
│ │ ├── AutoNamingDynamicParameters.cs
│ │ ├── IWhereClauseWriter.cs
│ │ ├── SqlWriterResult.cs
│ │ ├── ConstantChecker.cs
│ │ ├── SelectWriterResult.cs
│ │ ├── ISelectWriter.cs
│ │ ├── IOrderClauseWriter.cs
│ │ ├── WriterQueryCacheKey.cs
│ │ ├── MemberExpressionFetchNodeVisitor.cs
│ │ └── DeleteWriter.cs
│ ├── DDL
│ │ ├── IDropTableWriter.cs
│ │ ├── ICreateTableWriter.cs
│ │ ├── IAlterTableWriter.cs
│ │ └── DropTableWriter.cs
│ ├── DapperMapperGeneration
│ │ ├── INonCollectionMapperGenerator.cs
│ │ ├── IMultiCollectionMapperGenerator.cs
│ │ └── ISingleCollectionMapperGenerator.cs
│ ├── InMemory
│ │ ├── InMemoryDbTransaction.cs
│ │ ├── InMemoryKeyGenerator.cs
│ │ ├── InMemoryDbConnection.cs
│ │ └── WhereClauseOpEqualityRewriter.cs
│ └── Dialects
│ │ └── SqlServer2012Dialect.cs
├── ModelGeneration
│ ├── IConvention.cs
│ ├── IModelGenerator.cs
│ └── DefaultConvention.cs
├── MultipleChoice.cs
├── SchemaReading
│ ├── TemporalType.cs
│ ├── ISchemaReader.cs
│ ├── TableDto.cs
│ ├── ForeignKeyDto.cs
│ ├── IndexDto.cs
│ ├── ColumnDto.cs
│ └── SchemaReaderFactory.cs
├── IProjectedSelectQuery.cs
├── ReverseEngineering
│ ├── IConvention.cs
│ ├── IReverseEngineeringConfiguration.cs
│ ├── IReverseEngineeringColumn.cs
│ ├── IEngineer.cs
│ ├── Column.cs
│ └── DefaultConvention.cs
├── IDatabase.cs
├── Logging
│ ├── LoggerDelegate.cs
│ ├── LogLevel.cs
│ ├── LogProviders
│ │ ├── LibLogException.cs
│ │ ├── DisposableAction.cs
│ │ ├── TypeExtensions.cs
│ │ └── TraceEventTypeValues.cs
│ ├── ILog.cs
│ └── ILogProvider.cs
├── CodeGeneration
│ ├── ISetLogger.cs
│ ├── IEnumerableAwaiter.cs
│ ├── ITrackedEntity.cs
│ ├── DelegateProjectionResult.cs
│ ├── ITrackedEntityInspector.cs
│ ├── FetchCollectionAwaiter.cs
│ └── TrackingCollection.cs
├── Versioning
│ └── IVersionedEntity.cs
├── IAnswerProvider.cs
├── ILogger.cs
├── IFetchMany.cs
├── Extensions
│ ├── AssemblyExtensions.cs
│ ├── DictionaryExtensions.cs
│ ├── ReferenceEqualityComparer.cs
│ ├── DapperExtensions.cs
│ ├── EnumerableExtensions.cs
│ └── AsyncLock.cs
├── IExecuteSelectQueries.cs
├── IProjectedSelectQueryExecutor.cs
├── IEnumerableSelectQuery.cs
├── Page.cs
├── ISession.cs
├── OrderClause.cs
├── SessionExtensions.cs
├── InMemoryDatabase.cs
├── FetchMany.cs
└── Dashing.csproj
├── references
├── Dapper
│ ├── Dapper.dll
│ └── Dapper.pdb
└── LightSpeed
│ ├── Mindscape.LightSpeed.dll
│ └── Mindscape.LightSpeed.Linq.dll
├── Dashing.Tests
├── TestDomain
│ ├── NoPrimary.cs
│ ├── IEnableable.cs
│ ├── Customer.cs
│ ├── Delivery.cs
│ ├── LineItem.cs
│ ├── Tag.cs
│ ├── Circular
│ │ ├── A.cs
│ │ ├── B.cs
│ │ └── C.cs
│ ├── BoolClass.cs
│ ├── ThingThatReferencesOrderNullable.cs
│ ├── Guid
│ │ └── EntityWithGuidPk.cs
│ ├── Order.cs
│ ├── Like.cs
│ ├── PostTag.cs
│ ├── Pair.cs
│ ├── OneToOneLeft.cs
│ ├── OneToOneRight.cs
│ ├── OneToOne
│ │ ├── OneToOneLeft.cs
│ │ ├── OneToOneRight.cs
│ │ └── Category.cs
│ ├── SimpleClass.cs
│ ├── Constructor
│ │ └── ClassWithConstructor.cs
│ ├── Category.cs
│ ├── ThingWithNullable.cs
│ ├── User.cs
│ ├── Versioning
│ │ └── VersionedEntity.cs
│ ├── Blog.cs
│ ├── Comment.cs
│ └── Post.cs
├── MockConfiguration.cs
├── Engine
│ ├── InMemory
│ │ ├── TestDomain
│ │ │ ├── IEnableable.cs
│ │ │ ├── Tag.cs
│ │ │ ├── BoolClass.cs
│ │ │ ├── ThingWithLongPrimaryKey.cs
│ │ │ ├── ThingWithStringPrimaryKey.cs
│ │ │ ├── Pair.cs
│ │ │ ├── Like.cs
│ │ │ ├── PostTag.cs
│ │ │ ├── OneToOne
│ │ │ │ ├── OneToOneLeft.cs
│ │ │ │ ├── OneToOneRight.cs
│ │ │ │ └── Category.cs
│ │ │ ├── User.cs
│ │ │ ├── Blog.cs
│ │ │ ├── Comment.cs
│ │ │ └── Post.cs
│ │ ├── WhereClauseCaseInsensitiveRewriterTests.cs
│ │ ├── TestConfiguration.cs
│ │ └── ExpressionExtensions.cs
│ └── DML
│ │ ├── FetchTreeParserTests.cs
│ │ └── WhereClauseWriterPerformanceTests.cs
├── StringExtensions.cs
├── Configuration
│ ├── SelfReferenceTests
│ │ ├── Domain
│ │ │ ├── Tag.cs
│ │ │ ├── Like.cs
│ │ │ ├── PostTag.cs
│ │ │ ├── Pair.cs
│ │ │ ├── OneToOneLeft.cs
│ │ │ ├── OneToOneRight.cs
│ │ │ ├── Category.cs
│ │ │ ├── User.cs
│ │ │ ├── Blog.cs
│ │ │ ├── Comment.cs
│ │ │ └── Post.cs
│ │ └── TestConfig.cs
│ ├── AddNamespaceTests.cs
│ ├── AddNamespaceDomain
│ │ └── AddNamespaceConfiguration.cs
│ ├── ReverseEngineer
│ │ └── Sandbox.cs
│ └── ColumnTests.cs
├── TestConfig.cs
├── Migration
│ └── TableNameEqualityComparerTests.cs
├── MutableConfiguration.cs
├── CustomConfig.cs
├── App.config
├── Extensions
│ └── DynamicParametersExtensions.cs
├── NeedToDash.cs
└── Dashing.Tests.csproj
├── Dashing.Weaving.Sample
├── Domain
│ ├── Tracking
│ │ ├── IntPk.cs
│ │ ├── LongPk.cs
│ │ ├── StringPk.cs
│ │ ├── GuidPK.cs
│ │ └── References.cs
│ ├── FooType.cs
│ ├── Dog.cs
│ ├── Animal.cs
│ ├── Duck.cs
│ ├── EntityWithStringPrimaryKey.cs
│ ├── EntityWithGuidPrimaryKey.cs
│ ├── EntityReferencingEntityWithPrimaryKey.cs
│ ├── ReferencesAnotherAssembly.cs
│ ├── IveGotMethods.cs
│ ├── Foo.cs
│ ├── Bar.cs
│ ├── Starship.cs
│ └── Whopper.cs
├── Program.cs
├── App.config
├── Dashing.Weaving.Sample.csproj
└── Config.cs
├── Dashing.Weaving.Tests
├── WeavingFixture.cs
├── WeavingTests.cs
└── ForeignKeyTests.cs
├── Dashing.Cli
├── app.config
├── NullStatisticsProvider.cs
├── Properties
│ └── launchSettings.json
├── DbProviderFactoryFactory.cs
├── Seeder.cs
└── Program.cs
├── Dashing.Weaving.Sample2
├── Dashing.Weaving.Sample2.csproj
└── AnotherAssembliesClass.cs
├── Nuget.config
├── Dashing.IntegrationTests
├── TestDomain
│ ├── Tag.cs
│ ├── More
│ │ ├── Room.cs
│ │ ├── RoomSlot.cs
│ │ ├── Bed.cs
│ │ ├── Question.cs
│ │ ├── Booking.cs
│ │ ├── QuestionResponse.cs
│ │ ├── Questionnaire.cs
│ │ └── QuestionnaireResponse.cs
│ ├── PostTag.cs
│ ├── Versioned
│ │ ├── VersionedConfiguration.cs
│ │ ├── NonVersioned
│ │ │ ├── NonVersionedConfiguration.cs
│ │ │ └── VersionedEntity.cs
│ │ └── VersionedEntity.cs
│ ├── User.cs
│ ├── Comment.cs
│ ├── Blog.cs
│ └── Post.cs
├── App.config
├── Setup
│ ├── SessionDataGenerator.cs
│ ├── Configuration.cs
│ ├── TestSessionWrapper.cs
│ ├── MySqlServerDatabase.cs
│ ├── SqlLiteConfiguration.cs
│ ├── SqlServerDatabase.cs
│ ├── SqlSessionCreatorExtensions.cs
│ └── TestDatabaseGenerator.cs
├── Tests
│ ├── OuterJoinDisjunctionTransformerTests.cs
│ ├── SelectTests.cs
│ ├── DapperWrapperTests.cs
│ ├── TransactionTests.cs
│ ├── EnumeratingTests.cs
│ └── AsyncTests.cs
└── packages.config
├── Dashing.Weaver
├── Weaving
│ ├── Weavers
│ │ ├── ITaskLogHelper.cs
│ │ └── IWeaver.cs
│ ├── MapDefinition.cs
│ ├── NullLogger.cs
│ ├── ColumnDefinition.cs
│ ├── TypeDefinitionExtensions.cs
│ └── ModuleDefinitionExtensions.cs
├── WeaveException.cs
├── Program.cs
├── Test.ini
└── Properties
│ └── launchSettings.json
├── Dashing.PerformanceTests
├── Domain
│ ├── Tag.cs
│ ├── PostTag.cs
│ ├── User.cs
│ ├── Comment.cs
│ ├── Blog.cs
│ └── Post.cs
├── Tests
│ ├── Dashing
│ │ └── DashingConfiguration.cs
│ └── EntityFramework
│ │ └── EfContext.cs
├── Providers.cs
├── Test.cs
├── Dashing.PerformanceTests.csproj
└── App.config
├── Package Dashing.bat
├── Dashing.CommandLine
├── ColorContext.cs
├── LogConfiguration.cs
└── AssemblyContext.cs
└── LICENSE
/NuGet/_._:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | remote_theme: "mmistakes/minimal-mistakes"
2 |
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
2 | google_analytics: UA-125024109-1
3 |
--------------------------------------------------------------------------------
/dashing-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AbstractLeap/dashing/HEAD/dashing-icon.png
--------------------------------------------------------------------------------
/Dashing/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Dashing.Tests")]
--------------------------------------------------------------------------------
/references/Dapper/Dapper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AbstractLeap/dashing/HEAD/references/Dapper/Dapper.dll
--------------------------------------------------------------------------------
/references/Dapper/Dapper.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AbstractLeap/dashing/HEAD/references/Dapper/Dapper.pdb
--------------------------------------------------------------------------------
/Dashing/Events/IEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IEventListener {
3 | }
4 | }
--------------------------------------------------------------------------------
/references/LightSpeed/Mindscape.LightSpeed.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AbstractLeap/dashing/HEAD/references/LightSpeed/Mindscape.LightSpeed.dll
--------------------------------------------------------------------------------
/Dashing/Configuration/ISeeder.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Configuration {
2 | public interface ISeeder {
3 | void Seed(ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/Migration/Statistics.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Migration {
2 | public class Statistics {
3 | public bool HasRows { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/references/LightSpeed/Mindscape.LightSpeed.Linq.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AbstractLeap/dashing/HEAD/references/LightSpeed/Mindscape.LightSpeed.Linq.dll
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/NoPrimary.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class NoPrimary {
3 | public string Name { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/IEnableable.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public interface IEnableable {
3 | bool IsEnabled { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Tests/MockConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests {
2 | using Dashing.Configuration;
3 |
4 | public class MockConfiguration : BaseConfiguration {
5 | }
6 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IAliasProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | public interface IAliasProvider {
3 | string GetAlias(BaseQueryNode queryNode);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Tracking/IntPk.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain.Tracking {
2 | public class IntPk {
3 | public int Id { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Tracking/LongPk.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain.Tracking {
2 | public class LongPk {
3 | public long Id { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Program.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample {
2 | internal class Program {
3 | private static void Main(string[] args) {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IAliasProviderFactory.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | public interface IAliasProviderFactory {
3 | IAliasProvider GetAliasProvider();
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/ModelGeneration/IConvention.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.ModelGeneration {
2 | public interface IConvention {
3 | string ClassNameForTable(string tableName);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/FooType.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public enum FooType {
3 | One,
4 |
5 | Two,
6 |
7 | Three
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Tracking/StringPk.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain.Tracking {
2 | public class StringPk {
3 | public string Id { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Tests/WeavingFixture.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Tests {
2 | using Xunit;
3 |
4 | [Collection("Weaving Tests")]
5 | public class WeavingFixture {
6 | }
7 | }
--------------------------------------------------------------------------------
/NuGet/Dashing.Weaver.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Dashing.Cli/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/IEnableable.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public interface IEnableable {
3 | bool IsEnabled { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/MultipleChoice.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing {
2 | public class MultipleChoice {
3 | public string DisplayString { get; set; }
4 |
5 | public T Choice { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Tracking/GuidPK.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain.Tracking {
2 | using System;
3 |
4 | public class GuidPk {
5 | public Guid Id { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Events/IOnPreSaveEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPreSaveEventListener : IEventListener {
3 | void OnPreSave(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/SchemaReading/TemporalType.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.SchemaReading {
2 | public enum TemporalType {
3 | NonTemporal = 0,
4 | HistoryTable = 1,
5 | TemporalTable = 2
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Customer.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Customer {
3 | public int CustomerId { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Delivery.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Delivery {
3 | public int DeliveryId { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/LineItem.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class LineItem {
3 | public int LineItemId { get; set; }
4 |
5 | public Order Order { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample2/Dashing.Weaving.Sample2.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net46;net9.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Dashing/Events/IOnPostSaveEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPostSaveEventListener : IEventListener {
3 | void OnPostSave(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/Events/IOnPreDeleteEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPreDeleteEventListener : IEventListener {
3 | void OnPreDelete(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/Events/IOnPreInsertEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPreInsertEventListener : IEventListener {
3 | void OnPreInsert(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/IProjectedSelectQuery.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing {
2 | public interface IProjectedSelectQuery : IEnumerableSelectQuery
3 | where TBase : class, new() {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Tag {
3 | public virtual int TagId { get; set; }
4 |
5 | public virtual string Content { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Dog.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public class Dog : Animal {
3 | public int Id { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IInsertWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | public interface IInsertWriter {
3 | SqlWriterResult GenerateSql(T entity);
4 |
5 | string GenerateGetIdSql();
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Events/IOnPostDeleteEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPostDeleteEventListener : IEventListener {
3 | void OnPostDelete(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing/Events/IOnPostInsertEventListener.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Events {
2 | public interface IOnPostInsertEventListener : IEventListener {
3 | void OnPostInsert(object entity, ISession session);
4 | }
5 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Animal.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public abstract class Animal {
3 | public int Legs { get; set; }
4 |
5 | public int Arms { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain {
2 | public class Tag {
3 | public long TagId { get; set; }
4 |
5 | public string Content { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Circular/A.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tools.Tests.TestDomain.Circular {
2 | public class A {
3 | public virtual int AId { get; set; }
4 |
5 | public virtual B B { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Circular/B.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tools.Tests.TestDomain.Circular {
2 | public class B {
3 | public virtual int BId { get; set; }
4 |
5 | public virtual C C { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Circular/C.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tools.Tests.TestDomain.Circular {
2 | public class C {
3 | public virtual int CId { get; set; }
4 |
5 | public virtual A A { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaver/Weaving/Weavers/ITaskLogHelper.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaver.Weaving.Weavers {
2 | using ILogger = Dashing.ILogger;
3 |
4 | public interface ITaskLogHelper {
5 | ILogger Log { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.PerformanceTests/Domain/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.PerformanceTests.Domain {
2 | public class Tag {
3 | public virtual int TagId { get; set; }
4 |
5 | public virtual string Content { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/BoolClass.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class BoolClass {
3 | public virtual int BoolClassId { get; set; }
4 |
5 | public virtual bool IsFoo { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample2/AnotherAssembliesClass.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample2 {
2 | public class AnotherAssembliesClass {
3 | public int Id { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IDeleteWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | using System.Collections.Generic;
3 |
4 | public interface IDeleteWriter {
5 | SqlWriterResult GenerateSql(IEnumerable entities);
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IUpdateWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | using System.Collections.Generic;
3 |
4 | public interface IUpdateWriter {
5 | SqlWriterResult GenerateSql(IEnumerable entities);
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/SchemaReading/ISchemaReader.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.SchemaReading {
2 | using System.Data;
3 |
4 | public interface ISchemaReader {
5 | Database Read(IDbConnection dbConnection, string databaseName);
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/Room.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | public class Room {
3 | public long RoomId { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/RoomSlot.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | public class RoomSlot {
3 | public long RoomSlotId { get; set; }
4 |
5 | public Room Room { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class Tag {
3 | public virtual int TagId { get; set; }
4 |
5 | public virtual string Content { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/ThingThatReferencesOrderNullable.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class ThingThatReferencesOrderNullable {
3 | public int Id { get; set; }
4 |
5 | public Order Order { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/Duck.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public class Duck {
3 | public int Id { get; set; }
4 |
5 | public string Name { get; set; }
6 |
7 | public Foo Foo { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/EntityWithStringPrimaryKey.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public class EntityWithStringPrimaryKey {
3 | public string Id { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DDL/IDropTableWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DDL {
2 | using Dashing.Configuration;
3 |
4 | public interface IDropTableWriter {
5 | string DropTable(IMap map);
6 |
7 | string DropTableIfExists(IMap map);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/BoolClass.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class BoolClass {
3 | public virtual int BoolClassId { get; set; }
4 |
5 | public virtual bool IsFoo { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/StringExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tools.Tests {
2 | public static class StringExtensions {
3 | public static string NormalizeNewlines(this string value) {
4 | return value.Replace(@"\r\n", @"\n");
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Guid/EntityWithGuidPk.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain.Guid {
2 | using System;
3 |
4 | public class EntityWithGuidPk {
5 | public Guid Id { get; set; }
6 |
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Weaver/WeaveException.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaver {
2 | using System;
3 |
4 | internal class WeaveException : Exception
5 | {
6 | public WeaveException(string message) : base(message)
7 | {
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/Dashing/ReverseEngineering/IConvention.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.ReverseEngineering {
2 | public interface IConvention {
3 | string PropertyNameForManyToOneColumnName(string columnName);
4 |
5 | string ClassNameFor(string tableName);
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/ThingWithLongPrimaryKey.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class ThingWithLongPrimaryKey {
3 | public long Id { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Order {
3 | public int OrderId { get; set; }
4 |
5 | public Delivery Delivery { get; set; }
6 |
7 | public Customer Customer { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/PostTag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain {
2 | public class PostTag {
3 | public long PostTagId { get; set; }
4 |
5 | public Post Post { get; set; }
6 |
7 | public Tag Tag { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class Tag {
3 | public virtual int TagId { get; set; }
4 |
5 | public virtual string Content { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/ThingWithStringPrimaryKey.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class ThingWithStringPrimaryKey {
3 | public string Id { get; set; }
4 |
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Like.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Like {
3 | public virtual int LikeId { get; set; }
4 |
5 | public virtual User User { get; set; }
6 |
7 | public virtual Comment Comment { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/EntityWithGuidPrimaryKey.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | using System;
3 |
4 | public class EntityWithGuidPrimaryKey {
5 | public Guid Id { get; set; }
6 |
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/PostTag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class PostTag {
3 | public virtual int PostTagId { get; set; }
4 |
5 | public virtual Post Post { get; set; }
6 |
7 | public virtual Tag ElTag { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Pair.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class Pair {
3 | public virtual int PairId { get; set; }
4 |
5 | public virtual Pair References { get; set; }
6 |
7 | public virtual Pair ReferencedBy { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/Bed.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | public class Bed {
3 | public long BedId { get; set; }
4 |
5 | public RoomSlot RoomSlot { get; set; }
6 |
7 | public Booking Booking { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.PerformanceTests/Domain/PostTag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.PerformanceTests.Domain {
2 | public class PostTag {
3 | public virtual int PostTagId { get; set; }
4 |
5 | public virtual Post Post { get; set; }
6 |
7 | public virtual Tag Tag { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/Pair.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class Pair {
3 | public int PairId { get; set; }
4 |
5 | public Blog Left { get; set; }
6 |
7 | public Blog Right { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/WhereClauseCaseInsensitiveRewriterTests.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory {
2 | using Xunit;
3 |
4 | public class WhereClauseCaseInsensitiveRewriterTests {
5 | [Fact]
6 | public void ContainsGetsRewritten() {
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestConfig.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests {
2 | using Dashing.Configuration;
3 | using Dashing.Tests.TestDomain;
4 |
5 | public class TestConfig : BaseConfiguration {
6 | public TestConfig() {
7 | this.AddNamespaceOf();
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/Dashing/Migration/IStatisticsProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Migration {
2 | using System.Collections.Generic;
3 |
4 | using Dashing.Configuration;
5 |
6 | public interface IStatisticsProvider {
7 | IDictionary GetStatistics(IEnumerable fromMaps);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/OneToOneLeft.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class OneToOneLeft {
3 | public virtual int OneToOneLeftId { get; set; }
4 |
5 | public virtual OneToOneRight Right { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/OneToOneRight.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain {
2 | public class OneToOneRight {
3 | public virtual int OneToOneRightId { get; set; }
4 |
5 | public virtual OneToOneLeft Left { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/ReverseEngineering/IReverseEngineeringConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.ReverseEngineering {
2 | using System;
3 |
4 | using Dashing.Configuration;
5 |
6 | internal interface IReverseEngineeringConfiguration : IConfiguration {
7 | void AddMap(Type type, IMap map);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/Question.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | public class Question {
3 | public long QuestionId { get; set; }
4 |
5 | public Questionnaire Questionnaire { get; set; }
6 |
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/Like.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class Like {
3 | public virtual int LikeId { get; set; }
4 |
5 | public virtual User User { get; set; }
6 |
7 | public virtual Comment Comment { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/PostTag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain {
2 | public class PostTag {
3 | public virtual int PostTagId { get; set; }
4 |
5 | public virtual Post Post { get; set; }
6 |
7 | public virtual Tag ElTag { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/IDatabase.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing {
2 | using System.Data;
3 |
4 | public interface IDatabase {
5 | ISession BeginSession(IDbConnection connection = null, IDbTransaction transaction = null);
6 |
7 | ISession BeginTransactionLessSession(IDbConnection connection = null);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/Elements/ISqlElement.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML.Elements {
2 | using System.Text;
3 |
4 | using Dashing.Engine.Dialects;
5 |
6 | internal interface ISqlElement {
7 | void Append(StringBuilder stringBuilder, ISqlDialect dialect, IAliasProvider aliasProvider);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/OneToOne/OneToOneLeft.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain.OneToOne {
2 | public class OneToOneLeft {
3 | public virtual int OneToOneLeftId { get; set; }
4 |
5 | public virtual OneToOneRight Right { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/OneToOne/OneToOneRight.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain.OneToOne {
2 | public class OneToOneRight {
3 | public virtual int OneToOneRightId { get; set; }
4 |
5 | public virtual OneToOneLeft Left { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IBulkDeleteWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq.Expressions;
5 |
6 | public interface IBulkDeleteWriter {
7 | SqlWriterResult GenerateBulkSql(IEnumerable>> predicates);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/Like.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class Like {
3 | public virtual int LikeId { get; set; }
4 |
5 | public virtual User User { get; set; }
6 |
7 | public virtual Comment Comment { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/PostTag.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class PostTag {
3 | public virtual int PostTagId { get; set; }
4 |
5 | public virtual Post Post { get; set; }
6 |
7 | public virtual Tag Tag { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/Pair.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class Pair {
3 | public virtual int PairId { get; set; }
4 |
5 | public virtual Pair References { get; set; }
6 |
7 | public virtual Pair ReferencedBy { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/Versioned/VersionedConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.Versioned {
2 | using Dashing.Configuration;
3 | public class VersionedConfiguration : BaseConfiguration {
4 | public VersionedConfiguration() {
5 | this.Add();
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DapperMapperGeneration/INonCollectionMapperGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DapperMapperGeneration {
2 | using System;
3 |
4 | using Dashing.Engine.DML;
5 |
6 | internal interface INonCollectionMapperGenerator {
7 | Tuple GenerateNonCollectionMapper(QueryTree mapQueryTree);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/SimpleClass.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tools.Tests.TestDomain {
2 | using System;
3 |
4 | public class SimpleClass {
5 | public virtual int SimpleClassId { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 |
9 | public virtual DateTime CreatedDate { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing.Weaver/Weaving/Weavers/IWeaver.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaver.Weaving.Weavers {
2 | using System.Collections.Generic;
3 |
4 | using Mono.Cecil;
5 |
6 | public interface IWeaver {
7 | void Weave(AssemblyDefinition assemblyDefinition, TypeDefinition typeDefinition, IEnumerable columnDefinitions);
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/Logging/LoggerDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Logging
2 | {
3 | using System;
4 |
5 | #if !LIBLOG_PROVIDERS_ONLY || LIBLOG_PUBLIC
6 | public
7 | #else
8 | internal
9 | #endif
10 | delegate bool Logger(LogLevel logLevel, Func messageFunc, Exception exception = null, params object[] formatParameters);
11 | }
12 |
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/Booking.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | using System.Collections.Generic;
3 |
4 | public class Booking {
5 | public long BookingId { get; set; }
6 |
7 | public bool IsFoo { get; set; }
8 |
9 | public IList Beds { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/QuestionResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | public class QuestionResponse {
3 | public long QuestionResponseId { get; set; }
4 |
5 | public QuestionnaireResponse QuestionnaireResponse { get; set; }
6 |
7 | public Question Question { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/OneToOne/OneToOneLeft.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain.OneToOne {
2 | public class OneToOneLeft {
3 | public virtual int OneToOneLeftId { get; set; }
4 |
5 | public virtual OneToOneRight Right { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Engine/InMemory/TestDomain/OneToOne/OneToOneRight.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Engine.InMemory.TestDomain.OneToOne {
2 | public class OneToOneRight {
3 | public virtual int OneToOneRightId { get; set; }
4 |
5 | public virtual OneToOneLeft Left { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/CodeGeneration/ISetLogger.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.CodeGeneration {
2 | using System.Collections.Generic;
3 |
4 | public interface ISetLogger {
5 | IEnumerable GetSetProperties();
6 |
7 | bool IsSetLoggingEnabled();
8 |
9 | void EnableSetLogging();
10 |
11 | void DisableSetLogging();
12 | }
13 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/OneToOneLeft.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class OneToOneLeft {
3 | public virtual int OneToOneLeftId { get; set; }
4 |
5 | public virtual OneToOneRight Right { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/Domain/OneToOneRight.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests.Domain {
2 | public class OneToOneRight {
3 | public virtual int OneToOneRightId { get; set; }
4 |
5 | public virtual OneToOneLeft Left { get; set; }
6 |
7 | public virtual string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/EntityReferencingEntityWithPrimaryKey.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | public class EntityReferencingEntityWithPrimaryKey {
3 | public long Id { get; set; }
4 |
5 | public string Name { get; set; }
6 |
7 | public EntityWithStringPrimaryKey EntityWithStringPrimaryKey { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/Versioning/IVersionedEntity.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Versioning {
2 | using System;
3 |
4 | public interface IVersionedEntity {
5 | TUserId SessionUser { get; set; }
6 |
7 | TUserId CreatedBy { get; set; }
8 |
9 | DateTime SysStartTime { get; set; }
10 |
11 | DateTime SysEndTime { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Dashing.Weaver/Weaving/MapDefinition.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Dashing.Weaver.Weaving {
3 | using System.Collections.Generic;
4 |
5 | public class MapDefinition {
6 | public string AssemblyPath { get; set; }
7 |
8 | public string TypeFullName { get; set; }
9 |
10 | public IList ColumnDefinitions { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Dashing.Weaving.Sample/Domain/ReferencesAnotherAssembly.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Weaving.Sample.Domain {
2 | using Dashing.Weaving.Sample2;
3 |
4 | public class ReferencesAnotherAssembly {
5 | public int Id { get; set; }
6 |
7 | public string Name { get; set; }
8 |
9 | public AnotherAssembliesClass TotherClass { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/More/Questionnaire.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.More {
2 | using System.Collections.Generic;
3 |
4 | public class Questionnaire {
5 | public long QuestionnaireId { get; set; }
6 |
7 | public IList Questions { get; set; }
8 |
9 | public string Name { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/TestDomain/Versioned/NonVersioned/NonVersionedConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.TestDomain.Versioned.NonVersioned {
2 | using Dashing.Configuration;
3 |
4 | public class NonVersionedConfiguration : BaseConfiguration {
5 | public NonVersionedConfiguration() {
6 | this.Add();
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/Dashing/Configuration/IMapT.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Configuration {
2 | public interface IMap : IMap {
3 | object GetPrimaryKeyValue(T entity);
4 |
5 | void SetPrimaryKeyValue(T entity, object value);
6 |
7 | object GetColumnValue(T entity, IColumn column);
8 |
9 | void SetColumnValue(T entity, IColumn column, object value);
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/ICountWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | public interface ICountWriter {
3 | SqlWriterResult GenerateCountSql(SelectQuery selectQuery) where T : class, new();
4 |
5 | SqlWriterResult GenerateCountSql(ProjectedSelectQuery projectedSelectQuery)
6 | where TBase : class, new();
7 | }
8 | }
--------------------------------------------------------------------------------
/Dashing.Tests/Configuration/SelfReferenceTests/TestConfig.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.Configuration.SelfReferenceTests {
2 | using Dashing.Configuration;
3 | using Dashing.Tests.Configuration.SelfReferenceTests.Domain;
4 |
5 | public class TestConfig : BaseConfiguration {
6 | public TestConfig() {
7 | this.AddNamespaceOf();
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/Dashing/IAnswerProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing {
2 | using System.Collections.Generic;
3 |
4 | public interface IAnswerProvider {
5 | bool GetBooleanAnswer(string question);
6 |
7 | MultipleChoice GetMultipleChoiceAnswer(string question, IEnumerable> choices);
8 |
9 | T GetAnswer(string question) where T : struct;
10 | }
11 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Dashing/Logging/LogLevel.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Logging
2 | {
3 | ///
4 | /// The log level.
5 | ///
6 | #if LIBLOG_PROVIDERS_ONLY
7 | internal
8 | #else
9 | public
10 | #endif
11 | enum LogLevel
12 | {
13 | Trace,
14 | Debug,
15 | Info,
16 | Warn,
17 | Error,
18 | Fatal
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Dashing/SchemaReading/TableDto.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.SchemaReading {
2 | public class TableDto {
3 | public string Schema { get; set; }
4 |
5 | public string Name { get; set; }
6 |
7 | public TemporalType TemporalType { get; set; }
8 |
9 | public string HistorySchema { get; set; }
10 |
11 | public string HistoryName { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Dashing.PerformanceTests/Tests/Dashing/DashingConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.PerformanceTests.Tests.Dashing {
2 | using global::Dashing.Configuration;
3 | using global::Dashing.PerformanceTests.Domain;
4 |
5 | internal class DashingConfiguration : BaseConfiguration {
6 | public DashingConfiguration() {
7 | this.AddNamespaceOf();
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/Dashing/CodeGeneration/IEnumerableAwaiter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.CodeGeneration {
2 | using System.Collections.Generic;
3 | using System.Runtime.CompilerServices;
4 |
5 | internal interface IEnumerableAwaiter : INotifyCompletion {
6 | IEnumerableAwaiter GetAwaiter();
7 |
8 | bool IsCompleted { get; }
9 |
10 | IEnumerable GetResult();
11 | }
12 | }
--------------------------------------------------------------------------------
/Dashing/Engine/DML/IBulkUpdateWriter.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Engine.DML {
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq.Expressions;
5 |
6 | public interface IBulkUpdateWriter {
7 | SqlWriterResult GenerateBulkSql(Action updateAction, IEnumerable>> predicates)
8 | where T : class, new();
9 | }
10 | }
--------------------------------------------------------------------------------
/Dashing.Tests/TestDomain/Constructor/ClassWithConstructor.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.Tests.TestDomain.Constructor {
2 | using System;
3 |
4 | public class ClassWithConstructor {
5 | public ClassWithConstructor() {
6 | this.CreatedDate = DateTime.UtcNow;
7 | }
8 |
9 | public int Id { get; set; }
10 |
11 | public DateTime CreatedDate { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Dashing.IntegrationTests/Setup/SessionDataGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Dashing.IntegrationTests.Setup {
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | public class SessionDataGenerator {
6 | public static IEnumerable