diff --git a/Db/XDbContext.cs b/Db/XDbContext.cs
index f9e62b3..589672e 100644
--- a/Db/XDbContext.cs
+++ b/Db/XDbContext.cs
@@ -1,12 +1,14 @@
using Microsoft.EntityFrameworkCore;
using xDataService.Configuration;
-namespace xDataService.Db {
+namespace xDataService.Db
+{
///
/// Provide an abstraction layout arround DBContext ...
/// Only Used on EFCore ...
///
- public abstract class XDbContext : DbContext {
+ public abstract class XDbContext : DbContext
+ {
private readonly XDataServiceConfiguration config;
//
@@ -17,62 +19,76 @@ namespace xDataService.Db {
//
// Constructor ...
- public XDbContext (
+ public XDbContext(
DbContextOptions options,
XDataServiceConfiguration config
- ) : base (options) {
+ ) : base(options)
+ {
//
- try {
- Database.EnsureCreated ();
- Database.Migrate ();
- } catch { }
+ try
+ {
+ Database.EnsureCreated();
+ Database.Migrate();
+ }
+ catch { }
this.config = config;
}
//
// Prepare Fluent API ...
- protected override void OnModelCreating (ModelBuilder modelBuilder) {
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
+ {
//
- OnXModelCreating (modelBuilder);
+ OnXModelCreating(modelBuilder);
+
+ //
+ // Automatically apply all IEntityTypeConfiguration in this assembly
+ modelBuilder.ApplyConfigurationsFromAssembly(typeof(XDbContext).Assembly);
//
// Since this class inherit from Identity Db Context,
// we have to pass this to Building Identity Models ...
- base.OnModelCreating (modelBuilder);
+ base.OnModelCreating(modelBuilder);
}
//
- public abstract void OnXModelCreating (ModelBuilder modelBuilder);
+ public abstract void OnXModelCreating(ModelBuilder modelBuilder);
//
// Prepare Configuring ...
- protected override void OnConfiguring (DbContextOptionsBuilder optionsBuilder) {
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+ {
//
- if (config.EnableDetailedErrors) {
- optionsBuilder.EnableDetailedErrors ();
+ if (config.EnableDetailedErrors)
+ {
+ optionsBuilder.EnableDetailedErrors();
}
//
- if (config.EnableSensitiveDataLogging) {
- optionsBuilder.EnableSensitiveDataLogging ();
+ if (config.EnableSensitiveDataLogging)
+ {
+ optionsBuilder.EnableSensitiveDataLogging();
}
//
- if (config.EnableTracking) {
- optionsBuilder.UseQueryTrackingBehavior (QueryTrackingBehavior.TrackAll);
- } else {
- optionsBuilder.UseQueryTrackingBehavior (QueryTrackingBehavior.NoTracking);
+ if (config.EnableTracking)
+ {
+ optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll);
+ }
+ else
+ {
+ optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
}
//
- OnXConfiguring (optionsBuilder);
+ OnXConfiguring(optionsBuilder);
//
- base.OnConfiguring (optionsBuilder);
+ base.OnConfiguring(optionsBuilder);
}
//
- public abstract void OnXConfiguring (DbContextOptionsBuilder optionsBuilder);
+ public abstract void OnXConfiguring(DbContextOptionsBuilder optionsBuilder);
}
}
\ No newline at end of file
diff --git a/xDataService.csproj b/xDataService.csproj
index 22fcab0..7432ec4 100644
--- a/xDataService.csproj
+++ b/xDataService.csproj
@@ -27,7 +27,8 @@
-
+
+