GQL003: Different names defined by Field, Connection or ConnectionBuilder.Create and Name methods
| Value | |
|---|---|
| Rule ID | GQL003 |
| Category | Usage |
| Default severity | Warning |
| Enabled by default | Yes |
| Code fix provided | Yes |
| Introduced in | v7.7 |
Cause
Field, Connection or ConnectionBuilder.Create and Name methods define
different field names.
Rule description
Field name should be provided in the Field, Connection or
ConnectionBuilder.Create method. If you intend to use a different name, modify
it within the Field, Connection or ConnectionBuilder.Create method instead
of using the Name method.
How to fix violations
Specify the preferred field name within the Field, Connection or
ConnectionBuilder.Create method and remove the use of the Name method.
Example of a violation
Field<StringGraphType>("Name1").Name("Name2");
Connection<StringGraphType>("Name1").Name("Name2");
ConnectionBuilder<string>.Create<StringGraphType>("Name1").Name("Name2");
ConnectionBuilder.Create<StringGraphType, string>("Name1").Name("Name2");Example of how to fix
Field<StringGraphType>("Name1");
Connection<StringGraphType>("Name1");
ConnectionBuilder<string>.Create<StringGraphType>("Name1");
ConnectionBuilder.Create<StringGraphType, string>("Name1");or
Field<StringGraphType>("Name2");
Connection<StringGraphType>("Name2");
ConnectionBuilder<string>.Create<StringGraphType>("Name2");
ConnectionBuilder.Create<StringGraphType, string>("Name2");Suppress a warning
If you just want to suppress a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable GQL003
// The code that's violating the rule is on this line.
#pragma warning restore GQL003To disable the rule for a file, folder, or project, set its severity to none
in the
configuration file.
[*.cs]
dotnet_diagnostic.GQL003.severity = noneFor more information, see How to suppress code analysis warnings.
Related rules
GQL001: Define the name in Field, Connection or ConnectionBuilder.Create method
GQL002: Name method invocation can be removed