diff --git a/BetterModules.Core/DataAccess/DataContext/Migrations/DefaultMigration.cs b/BetterModules.Core/DataAccess/DataContext/Migrations/DefaultMigration.cs
index e358441..de62af1 100644
--- a/BetterModules.Core/DataAccess/DataContext/Migrations/DefaultMigration.cs
+++ b/BetterModules.Core/DataAccess/DataContext/Migrations/DefaultMigration.cs
@@ -10,9 +10,11 @@ namespace BetterModules.Core.DataAccess.DataContext.Migrations
{
public abstract class DefaultMigration : Migration
{
- protected const string PostgresThrowNotSupportedErrorSql = "RAISE EXCEPTION 'NOT SUPPORTED IN CURRENT VERSION!';";
+ protected const string PostgresThrowNotSupportedErrorSql =
+ "RAISE EXCEPTION 'NOT SUPPORTED IN CURRENT VERSION!';";
- protected const string OracleThrowNotSupportedErrorSql = "raise_application_error(-1, 'NOT SUPPORTED IN CURRENT VERSION!');";
+ protected const string OracleThrowNotSupportedErrorSql =
+ "raise_application_error(-1, 'NOT SUPPORTED IN CURRENT VERSION!');";
private readonly string moduleName;
@@ -20,23 +22,42 @@ public abstract class DefaultMigration : Migration
public string SchemaName
{
- get
- {
- return schemaName ?? (schemaName = SchemaNameProvider.GetSchemaName(moduleName));
- }
+ get { return schemaName ?? (schemaName = SchemaNameProvider.GetSchemaName(moduleName)); }
}
public DefaultMigration(string moduleName)
{
this.moduleName = moduleName;
- var currentModule = ModulesRegistrationSingleton.Instance.GetModules().First(module => module.ModuleDescriptor.Name == moduleName);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.Name == moduleName);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
}
public DefaultMigration(Type moduleDescriptorType)
{
- var currentModule = ModulesRegistrationSingleton.Instance.GetModules().First(module => module.ModuleDescriptor.GetType() == moduleDescriptorType);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.GetType() == moduleDescriptorType);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
+ }
+
+ public DefaultMigration()
+ {
+ var assembly = this.GetType().Assembly;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.AssemblyName == assembly.GetName());
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
}
///
@@ -44,7 +65,8 @@ public DefaultMigration(Type moduleDescriptorType)
///
public override void Down()
{
- throw new CoreException("Down migration not possible.", new NotSupportedException("Application doesn't support DOWN migrations."));
+ throw new CoreException("Down migration not possible.",
+ new NotSupportedException("Application doesn't support DOWN migrations."));
}
protected IIfDatabaseExpressionRoot IfSqlServer()
@@ -62,4 +84,4 @@ protected IIfDatabaseExpressionRoot IfOracle()
return IfDatabase("Oracle");
}
}
-}
+}
\ No newline at end of file
diff --git a/BetterModules.Core/Models/EntityMapBase.cs b/BetterModules.Core/Models/EntityMapBase.cs
index 7c4f978..b05668c 100644
--- a/BetterModules.Core/Models/EntityMapBase.cs
+++ b/BetterModules.Core/Models/EntityMapBase.cs
@@ -1,12 +1,8 @@
using System;
using System.Linq;
-using System.Reflection;
-using Autofac;
using BetterModules.Core.DataContracts;
-using BetterModules.Core.Dependencies;
using BetterModules.Core.Modules.Registration;
using FluentNHibernate.Mapping;
-using NHibernate;
namespace BetterModules.Core.Models
{
@@ -48,8 +44,13 @@ protected string SchemaName
protected EntityMapBase(string moduleName)
{
this.moduleName = moduleName;
- var currentModule = ModulesRegistrationSingleton.Instance.GetModules().First(module => module.ModuleDescriptor.Name == moduleName);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.Name == moduleName);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
Init();
}
@@ -59,10 +60,13 @@ protected EntityMapBase(string moduleName)
/// Type of the module descriptor.
protected EntityMapBase(Type moduleDescriptorType)
{
- var currentModule =
- ModulesRegistrationSingleton.Instance.GetModules()
- .First(module => module.ModuleDescriptor.GetType() == moduleDescriptorType);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.GetType() == moduleDescriptorType);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
Init();
}
@@ -71,15 +75,14 @@ protected EntityMapBase(Type moduleDescriptorType)
///
protected EntityMapBase()
{
- var assembly = Assembly.GetExecutingAssembly();
- var currentModule =
- ModulesRegistrationSingleton.Instance.GetModules()
- .FirstOrDefault(module => module.ModuleDescriptor.AssemblyName == assembly.GetName());
+ var assembly = this.GetType().Assembly;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.AssemblyName == assembly.GetName());
if (currentModule != null)
{
schemaName = currentModule.ModuleDescriptor.SchemaName;
}
-
Init();
}
diff --git a/BetterModules.Core/Models/EntitySubClassMapBase.cs b/BetterModules.Core/Models/EntitySubClassMapBase.cs
index 2fc66a9..c3b2080 100644
--- a/BetterModules.Core/Models/EntitySubClassMapBase.cs
+++ b/BetterModules.Core/Models/EntitySubClassMapBase.cs
@@ -1,6 +1,5 @@
using System;
using System.Linq;
-using System.Reflection;
using BetterModules.Core.Modules.Registration;
using FluentNHibernate.Mapping;
@@ -43,8 +42,13 @@ protected string SchemaName
protected EntitySubClassMapBase(string moduleName)
{
this.moduleName = moduleName;
- var currentModule = ModulesRegistrationSingleton.Instance.GetModules().First(module => module.ModuleDescriptor.Name == moduleName);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.Name == moduleName);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
Init();
}
@@ -55,10 +59,13 @@ protected EntitySubClassMapBase(string moduleName)
/// Type of the module descriptor.
protected EntitySubClassMapBase(Type moduleDescriptorType)
{
- var currentModule =
- ModulesRegistrationSingleton.Instance.GetModules()
- .First(module => module.ModuleDescriptor.GetType() == moduleDescriptorType);
- schemaName = currentModule.ModuleDescriptor.SchemaName;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.GetType() == moduleDescriptorType);
+ if (currentModule != null)
+ {
+ schemaName = currentModule.ModuleDescriptor.SchemaName;
+ }
Init();
}
@@ -67,10 +74,10 @@ protected EntitySubClassMapBase(Type moduleDescriptorType)
///
protected EntitySubClassMapBase()
{
- var assembly = Assembly.GetExecutingAssembly();
- var currentModule =
- ModulesRegistrationSingleton.Instance.GetModules()
- .FirstOrDefault(module => module.ModuleDescriptor.AssemblyName == assembly.GetName());
+ var assembly = this.GetType().Assembly;
+ var currentModule = ModulesRegistrationSingleton.Instance.GetModules()
+ .FirstOrDefault(
+ module => module.ModuleDescriptor != null && module.ModuleDescriptor.AssemblyName == assembly.GetName());
if (currentModule != null)
{
schemaName = currentModule.ModuleDescriptor.SchemaName;