protected virtual void GenerateEntityType( [NotNull] string variable, [NotNull] IEntityType entityType, [NotNull] IndentedStringBuilder stringBuilder, GenerateEntityTypeOptions options) { Check.NotEmpty(variable, nameof(variable)); Check.NotNull(entityType, nameof(entityType)); Check.NotNull(stringBuilder, nameof(stringBuilder)); stringBuilder .Append(variable) .Append(".Entity(") .Append(_code.Literal(entityType.Name)) .AppendLine(", b =>"); using (stringBuilder.Indent()) { stringBuilder.Append("{"); using (stringBuilder.Indent()) { if ((options & GenerateEntityTypeOptions.Declared) != 0) { GenerateBaseType(entityType.BaseType, stringBuilder); GenerateProperties(entityType.GetDeclaredProperties(), stringBuilder); GenerateKeys(entityType.GetDeclaredKeys(), entityType.FindDeclaredPrimaryKey(), stringBuilder); GenerateIndexes(entityType.GetDeclaredIndexes(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Relationships) != 0) { GenerateForeignKeys(entityType.GetDeclaredForeignKeys(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Declared) != 0) { GenerateEntityTypeAnnotations(entityType, stringBuilder); } } stringBuilder .AppendLine() .AppendLine("});"); } }
protected virtual void GenerateEntityType( [NotNull] IEntityType entityType, [NotNull] IndentedStringBuilder stringBuilder, GenerateEntityTypeOptions options) { Check.NotNull(entityType, nameof(entityType)); Check.NotNull(stringBuilder, nameof(stringBuilder)); stringBuilder .Append("builder.Entity(") .Append(_code.Literal(entityType.Name)) .AppendLine(", b =>"); using (stringBuilder.Indent()) { stringBuilder.Append("{"); using (stringBuilder.Indent()) { if ((options & GenerateEntityTypeOptions.Primary) != 0) { GenerateProperties(entityType.GetProperties(), stringBuilder); GenerateKey(entityType.GetPrimaryKey(), stringBuilder); GenerateIndexes(entityType.GetIndexes(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Secondary) != 0) { GenerateForeignKeys(entityType.GetForeignKeys(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Primary) != 0) { GenerateEntityTypeAnnotations(entityType, stringBuilder); } } stringBuilder .AppendLine() .AppendLine("});"); } }
protected virtual void GenerateEntityType( [NotNull] IEntityType entityType, [NotNull] IndentedStringBuilder stringBuilder, GenerateEntityTypeOptions options) { Check.NotNull(entityType, nameof(entityType)); Check.NotNull(stringBuilder, nameof(stringBuilder)); if ((options & GenerateEntityTypeOptions.BaseType) != 0) { stringBuilder .Append("builder.Entity(") .Append(_code.Literal(entityType.Name)) .AppendLine(")"); using (stringBuilder.Indent()) { stringBuilder.Append(".BaseType(") .Append(_code.Literal(entityType.BaseType.Name)) .AppendLine(");"); } return; } stringBuilder .Append("builder.Entity(") .Append(_code.Literal(entityType.Name)) .AppendLine(", b =>"); using (stringBuilder.Indent()) { stringBuilder.Append("{"); using (stringBuilder.Indent()) { if ((options & GenerateEntityTypeOptions.Declared) != 0) { GenerateProperties(entityType.GetDeclaredProperties(), stringBuilder); GenerateKey(entityType.FindDeclaredPrimaryKey(), stringBuilder); GenerateIndexes(entityType.GetDeclaredIndexes(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Relationships) != 0) { GenerateForeignKeys(entityType.GetDeclaredForeignKeys(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Declared) != 0) { GenerateEntityTypeAnnotations(entityType, stringBuilder); } } stringBuilder .AppendLine() .AppendLine("});"); } }
protected virtual void GenerateEntityType( [NotNull] IEntityType entityType, [NotNull] IndentedStringBuilder stringBuilder, GenerateEntityTypeOptions options) { Check.NotNull(entityType, "entityType"); Check.NotNull(stringBuilder, "stringBuilder"); stringBuilder .Append("builder.Entity(") .Append(DelimitString(entityType.Name)) .AppendLine(", b =>"); using (stringBuilder.Indent()) { stringBuilder.Append("{"); using (stringBuilder.Indent()) { if ((options & GenerateEntityTypeOptions.Primary) != 0) { GenerateProperties(entityType.Properties, stringBuilder); GenerateKey(entityType.GetPrimaryKey(), stringBuilder); } if ((options & GenerateEntityTypeOptions.Secondary) != 0) { GenerateForeignKeys(entityType.ForeignKeys, stringBuilder); } if ((options & GenerateEntityTypeOptions.Primary) != 0) { GenerateEntityTypeAnnotations(entityType, stringBuilder); } } stringBuilder .AppendLine() .AppendLine("});"); } }