public static void BuildModel(LyniconSystem sys) { //if (!Collator.Instance.RepositoryBuilt) // throw new Exception("In CoreDb.OnModelCreating because there was a use of CoreDb before repository was built"); Debug.WriteLine("Building SummaryDb"); var requiredBaseTypes = ContentTypeHierarchy.AllContentTypes .Select(ct => Collator.Instance.ContainerType(ct)) .Select(crt => sys.Extender.ExtensionTypes().Contains(crt) ? sys.Extender.Base(crt) : crt) .Distinct() .Where(crt => Repository.Instance.Registered(crt).DataSourceFactory is CoreDataSourceFactory) .ToList(); var builder = new ModelBuilder(SqlServerConventionSetBuilder.Build()); sys.Extender.BaseTypes.Do(t => builder.Ignore(t)); foreach (var sumsType in sys.Extender.BaseTypes.Where(bt => requiredBaseTypes.Contains(bt))) { builder.Entity(sys.Extender.Summarised(sumsType)).ToTable(LinqX.GetTableName(sumsType)); } SummaryModel = builder.Model; }
protected static void BuildModel() { //if (!Collator.Instance.RepositoryBuilt) // throw new Exception("In CoreDb.OnModelCreating because there was a use of CoreDb before repository was built"); Debug.WriteLine("Building CoreDb"); var requiredTypes = ContentTypeHierarchy.AllContentTypes .Select(ct => Collator.Instance.ContainerType(ct)) .Distinct() .Where(crt => Repository.Instance.Registered(crt).DataSourceFactory is CoreDataSourceFactory) .ToList(); var builder = new ModelBuilder(SqlServerConventionSetBuilder.Build()); // temp, breaks separability of Lynicon systems var sys = LyniconSystem.Instance; foreach (Type baseType in sys.Extender.BaseTypes.Where(t => requiredTypes.Contains(sys.Extender[t]))) { builder.Entity(sys.Extender[baseType]).ToTable(LinqX.GetTableName(baseType)); } CoreModel = builder.Model; }
protected override void OnModelCreating(ModelBuilder builder) { var requiredTypes = ContentTypeHierarchy.AllContentTypes .Select(ct => Collator.Instance.ContainerType(ct)) .Distinct() .Where(crt => Repository.Instance.Registered(crt).DataSourceFactory is CoreDataSourceFactory) .ToList(); var sys = LyniconSystem.Instance; foreach (Type baseType in sys.Extender.BaseTypes.Where(t => requiredTypes.Contains(sys.Extender[t]))) { builder.Entity(sys.Extender[baseType]).ToTable(LinqX.GetTableName(baseType)); } base.OnModelCreating(builder); }
protected override void OnModelCreating(ModelBuilder builder) { Debug.WriteLine("Building SummaryDb"); var sys = LyniconSystem.Instance; var requiredBaseTypes = ContentTypeHierarchy.AllContentTypes .Select(ct => Collator.Instance.ContainerType(ct)) .Select(crt => sys.Extender.ExtensionTypes().Contains(crt) ? sys.Extender.Base(crt) : crt) .Distinct() .Where(crt => Repository.Instance.Registered(crt).DataSourceFactory is CoreDataSourceFactory) .ToList(); sys.Extender.BaseTypes.Do(t => builder.Ignore(t)); foreach (var sumsType in sys.Extender.BaseTypes.Where(bt => requiredBaseTypes.Contains(bt))) { builder.Entity(sys.Extender.Summarised(sumsType)).ToTable(LinqX.GetTableName(sumsType)); } }