Skip to content

MaxIdentifierLength #13982

@kakiyama1018

Description

@kakiyama1018

Hi,

Currently, what I see happen with MaxIdentifierLength is that the "relational" code truncates identifier strings (table names, column names, etc.) to the specified MaxIdentifierLength value (which defaults to 128 characters).

However, if the first 128 characters of the identifier is the SAME, then the names would clash/duplicated... and hence the table will fail to be created.
Thus, a simple truncation based on MaxIdentifierLength should not be the behavior, but it should rather truncate the string AND add some unique identifier to the name and still be within the MaxIdentifierLength limit.

And currently, it appears that this "relational" code that simply truncates the name cannot be overridden by the EF Core providers, so the provider writes are "stuck" with this issue where by default, unique names can be generated that adheres to the MaxIdentifierLength limit.

Can this be resolved so that identifers can be unique and still honor the MaxIdentifierLength limit?
Or at least allow the EF Core providers to override the implementation the enforces the MaxIdentifierLength limit?

Thank you very much in advance.

NOTE: Based on what we have checked, this issue exists with even with EF Core 2.2.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions