/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateNavigationProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsDependentToPrincipal() ? 0 : 1) .ThenBy(n => n.IsCollection() ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { navProperties.Add(new Dictionary <string, object> { { "nav-property-collection", navigation.IsCollection() }, { "nav-property-type", navigation.GetTargetType().Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, { "nullable-reference-types", _options?.Value?.EnableNullableReferenceTypes == true } }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateNavigationProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsOnDependent ? 0 : 1) .ThenBy(n => n.IsCollection ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { // TODO: Resolve TransformNavPropertyName() method NavEntityPropertyInfo navEntityPropertyInfo = ResolvingNamesService.ResolvingName(navigation); navProperties.Add(new Dictionary <string, object> { { "foregin-entity-name", navEntityPropertyInfo.ForeginEntityName }, { "field-name", navEntityPropertyInfo.FieldName }, { "nav-property-collection", navigation.IsCollection }, { "nav-property-type", navigation.TargetEntityType.Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, { "nullable-reference-types", _options?.Value?.EnableNullableReferenceTypes == true } }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(entityType.Name, navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected virtual void GenerateNavigationProperties(IEntityType entityType) { if (entityType == null) { throw new ArgumentNullException(nameof(entityType)); } var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsDependentToPrincipal() ? 0 : 1) .ThenBy(n => n.IsCollection() ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { navProperties.Add(new Dictionary <string, object> { { "nav-property-collection", navigation.IsCollection() }, { "nav-property-type", navigation.GetTargetType().Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
/// <summary> /// Generate entity type properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var properties = new List <Dictionary <string, object> >(); foreach (var property in entityType.GetProperties().OrderBy(p => p.GetColumnOrdinal())) { properties.Add(new Dictionary <string, object> { { "property-type", TypeScriptHelper.TypeName(property.ClrType) }, { "property-name", TypeScriptHelper.ToCamelCase(property.Name) }, { "property-annotations", new List <Dictionary <string, object> >() }, }); } var transformedProperties = EntityTypeTransformationService.TransformProperties(properties); TemplateData.Add("properties", transformedProperties); }
/// <summary> /// Generate entity type properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var properties = new List <Dictionary <string, object> >(); foreach (var property in entityType.GetProperties().OrderBy(p => p.GetColumnOrdinal())) { properties.Add(new Dictionary <string, object> { { "property-type", TypeScriptHelper.TypeName(property.ClrType) }, { "property-name", TypeScriptHelper.ToCamelCase(property.Name) }, { "property-annotations", new List <Dictionary <string, object> >() }, { "property-comment", property.GetComment() }, { "property-isnullable", property.IsNullable }, { "nullable-reference-types", _options?.Value?.EnableNullableReferenceTypes == true } }); } var transformedProperties = EntityTypeTransformationService.TransformProperties(properties); TemplateData.Add("properties", transformedProperties); }
/// <summary> /// Generate entity type properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected virtual void GenerateProperties(IEntityType entityType) { if (entityType == null) { throw new ArgumentNullException(nameof(entityType)); } var properties = new List <Dictionary <string, object> >(); foreach (var property in entityType.GetProperties().OrderBy(p => p.Scaffolding().ColumnOrdinal)) { properties.Add(new Dictionary <string, object> { { "property-type", TypeScriptHelper.TypeName(property.ClrType) }, { "property-name", TypeScriptHelper.ToCamelCase(property.Name) }, { "property-annotations", new List <Dictionary <string, object> >() }, }); } var transformedProperties = EntityTypeTransformationService.TransformProperties(properties); TemplateData.Add("properties", transformedProperties); }