コード例 #1
0
        private void ProcessMapColumns(StringBuilderIndented builder, DataBaseTable item)
        {
            foreach (var property in item.Columns)
            {
                builder
                .Append($"entity.Property(e => e.{property.Name})");

                using (builder.Indent())
                {
                    if (!property.Nullable)
                    {
                        builder
                        .AppendLine()
                        .Append(".IsRequired()");
                    }

                    if (property.Type == "string" && property.Size.IsNotEmpty() && property.Size != "MAX")
                    {
                        builder
                        .AppendLine()
                        .Append($".HasMaxLength({property.Size})");
                    }

                    if (property.PK)
                    {
                        builder
                        .AppendLine()
                        .Append(".ValueGeneratedNever()");
                    }
                }

                builder
                .Append(";")
                .AppendLine()
                .AppendLine();
            }
        }