private void AddConstructors() { Add(Tab(2), string.Format("public {0}{1}Context", Settings.Domain, SchemaCamelCased)); Add(Tab(2), "("); EntityTypes.Each(e => { var entityName = Pass.Code.Escape(e); var entityNamePluralized = Pluralize(entityName).LowerCaseFirstCharacter(); var format = !Settings.IsIncludePrimaryKey ? "Lazy<IRepositoryOrmId<{0}, {1}>> {2}," : "Lazy<IRepositoryOrm<{0}>> {2},"; Add(Tab(3), string.Format(format, entityName, GetPrimaryKeyType(e), entityNamePluralized)); }); Container.Remove(Container.Length - 3, 1); Add(Tab(2), ")"); Add(Tab(2), "{"); EntityTypes.Each(e => { var entityNamePluralized = Pluralize(Pass.Code.Escape(e)); var entityNamePluralizedLowered = entityNamePluralized.LowerCaseFirstCharacter(); Add(Tab(3), string.Format("Lazy{0} = {1};", entityNamePluralized, entityNamePluralizedLowered)); }); Add(Tab(2), "}"); }
private void BuildProperties() { EntityTypes.Each((e, i) => { var entityName = Pass.Code.Escape(e); var entityNamePluralized = Pluralize(entityName); var format = !Settings.IsIncludePrimaryKey ? "Lazy<IRepositoryOrmId<{0}, {1}>> Lazy{2} {{ get; set; }}" : "Lazy<IRepositoryOrm<{0}>> Lazy{2} {{ get; set; }}"; var newLine = ++i != EntityTypes.Count() ? NewLine() : null; Add(Tab(2), string.Format(format, entityName, GetPrimaryKeyType(e), entityNamePluralized), newLine); }); }
private void BuildPublicProperties() { Add(Tab(2), "#region Public Properties"); EntityTypes.Each((e, i) => { var entity = Pass.Code.Escape(e); var newLine = ++i != EntityTypes.Count() ? NewLine() : null; Add(Tab(2), string.Format("public DbSet<{0}> {1} {{ get; set; }}", Singularize(entity), Pluralize(entity)), newLine); }); Add(false, Tab(2), "#endregion", NewLine()); }
protected override void BuildFramework() { Add(Tab(2), "#region DbContext Members"); Add(Tab(2), "protected override void OnModelCreating(DbModelBuilder modelBuilder)"); Add(Tab(2), "{"); Add(Tab(3), "IgnoreProperties(modelBuilder);", NewLine()); EntityTypes.Each(e => { var entity = Pass.Code.Escape(e); Add(Tab(3), string.Format("modelBuilder.Configurations.Add(new {0}Map());", Singularize(entity))); }); Add(Tab(2), "}"); Add(Tab(2), "#endregion"); }
private void BuildGetTypesMethod() { Add(Tab(2), "public static Type[] GetTypes()"); Add(Tab(2), "{"); Add(Tab(3), "return new Type[]"); Add(Tab(3), "{"); EntityTypes.Each(e => { var entityName = Pass.Code.Escape(e); Add(Tab(4), string.Format("typeof({0}),", entityName)); }); Container.Remove(Container.Length - 3, 1); Add(Tab(3), "};"); Add(Tab(2), "}"); }
private void BuildProperties() { EntityTypes.Each((e, i) => { var entityName = Pass.Code.Escape(e); var entityNamePluralized = Pluralize(entityName); var format = !Settings.IsIncludePrimaryKey ? "public IRepositoryOrmId<{0}, {1}> {2}" : "public IRepositoryOrm<{0}> {2}"; var newLine = ++i != EntityTypes.Count() ? NewLine() : null; Add(Tab(2), string.Format(format, entityName, GetPrimaryKeyType(e), entityNamePluralized)); Add(Tab(2), "{"); Add(Tab(3), "get"); Add(Tab(3), "{"); Add(Tab(4), string.Format("Lazy{0}.Value.Enlist(Session);", entityNamePluralized)); Add(Tab(4), string.Format("return Lazy{0}.Value;", entityNamePluralized)); Add(Tab(3), "}"); Add(Tab(2), "}", newLine); }); }