private Domain BuildDomain(ForeignKeyMode foreignKeyMode, DomainUpgradeMode upgradeMode) { var configuration = DomainConfigurationFactory.Create(); configuration.Types.Register(typeof(model.EmploymentContract).Assembly, typeof(model.EmploymentContract).Namespace); configuration.UpgradeMode = upgradeMode; configuration.ForeignKeyMode = foreignKeyMode; return(Domain.Build(configuration)); }
private void FillData(ForeignKeyMode mode) { var domain = BuildDomain(mode, DomainUpgradeMode.Recreate); using (var session = domain.OpenSession()) using (var transaction = session.OpenTransaction()) { var worker = new model.Worker { FirstName = "John", LastName = "Smith" }; new model.EmploymentContract { ContractNumber = "w123456", CreationDate = DateTime.Now, TakesEffectFrom = DateTime.Now.Date }; transaction.Complete(); } }
/// <summary> /// Copies the properties from the <paramref name="source"/> /// configuration to this one. /// Used by <see cref="ConfigurationBase.Clone"/> method implementation. /// </summary> /// <param name="source">The configuration to copy properties from.</param> /// <inheritdoc/> protected override void CopyFrom(ConfigurationBase source) { base.CopyFrom(source); var configuration = (DomainConfiguration)source; name = configuration.Name; connectionInfo = configuration.ConnectionInfo; defaultSchema = configuration.DefaultSchema; defaultDatabase = configuration.DefaultDatabase; types = (DomainTypeRegistry)configuration.Types.Clone(); linqExtensions = (LinqExtensionRegistry)configuration.LinqExtensions.Clone(); namingConvention = (NamingConvention)configuration.NamingConvention.Clone(); keyCacheSize = configuration.KeyCacheSize; keyGeneratorCacheSize = configuration.KeyGeneratorCacheSize; queryCacheSize = configuration.QueryCacheSize; recordSetMappingCacheSize = configuration.RecordSetMappingCacheSize; sessions = (SessionConfigurationCollection)configuration.Sessions.Clone(); upgradeMode = configuration.UpgradeMode; foreignKeyMode = configuration.ForeignKeyMode; serviceContainerType = configuration.ServiceContainerType; includeSqlInExceptions = configuration.IncludeSqlInExceptions; forcedServerVersion = configuration.ForcedServerVersion; buildInParallel = configuration.BuildInParallel; allowCyclicDatabaseDependencies = configuration.AllowCyclicDatabaseDependencies; collation = configuration.Collation; connectionInitializationSql = configuration.ConnectionInitializationSql; schemaSyncExceptionFormat = configuration.SchemaSyncExceptionFormat; multidatabaseKeys = configuration.MultidatabaseKeys; ensureConnectionIsAlive = configuration.EnsureConnectionIsAlive; options = configuration.Options; databases = (DatabaseConfigurationCollection)configuration.Databases.Clone(); mappingRules = (MappingRuleCollection)configuration.MappingRules.Clone(); keyGenerators = (KeyGeneratorConfigurationCollection)configuration.KeyGenerators.Clone(); ignoreRules = (IgnoreRuleCollection)configuration.IgnoreRules.Clone(); shareStorageSchemaOverNodes = configuration.ShareStorageSchemaOverNodes; versioningConvention = (VersioningConvention)configuration.VersioningConvention.Clone(); }
internal bool Supports(ForeignKeyMode modeToCheck) { return((foreignKeyMode & modeToCheck) == modeToCheck); }