Which SQL dialects does the ByteKiln C# to SQL generator support?
SQL Server (T-SQL), PostgreSQL and MySQL. Identifiers are quoted per dialect ([brackets], "double quotes" or `backticks`) and each has its own type map — a string without a length is NVARCHAR(255) on SQL Server, TEXT on PostgreSQL and VARCHAR(255) on MySQL.
How are primary keys inferred from C# classes?
A property with [Key] wins; otherwise a property named Id, then one named <ClassName>Id, becomes the primary key. int and long keys get IDENTITY(1,1), GENERATED BY DEFAULT AS IDENTITY or AUTO_INCREMENT; a Guid key is a plain UNIQUEIDENTIFIER, UUID or CHAR(36) key with no database default, because EF Core generates Guid keys on the client.
Does it support nullable properties?
Yes, following nullable reference types: int?, DateTime? and string? become NULL, while int, DateTime and string (without ?) become NOT NULL. [Required] forces NOT NULL even on a nullable type. If your project has nullable reference types turned off, add ? to the strings that may be null.
Is my C# code uploaded to a server?
No. The class is parsed and the CREATE TABLE generated in your browser; it is not sent to a ByteKiln server. If you press Share, the link itself carries a readable copy of your input, so don't share links that contain secrets.
Which Entity Framework data annotations are read?
[Table("name")], [Key], [Column("name")], [Column(TypeName = "…")], [MaxLength(n)], [StringLength(n)], [Precision(p, s)], [Required] and [DefaultValue(x)]. [ForeignKey], [Index], [NotMapped] and Fluent API configuration in OnModelCreating are not read, because the tool only sees the class you paste.