Skip to content

Commit 4187a4e

Browse files
committed
no-mistakes(document): Document @collectionName implementedIn and pluralizer
1 parent 26f2908 commit 4187a4e

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

‎docs/CONFORMANCE.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ canonical (`fixtures/registry-conformance/expected-registry.json`).
148148
- `view.image`, and its `@accept`, `@aspectRatio`, `@maxBytes`, `@maxEdge`, `@store`
149149
- *Implemented in Java only* (`implementedIn: ["java"]`): `object.* @object` (ADR-0001), the
150150
native class an object binds to. Java's runtime acts on it; Java's own behaviour is unchanged.
151+
- *Implemented in C# only* (`implementedIn: ["csharp"]`): `object.* @collectionName`, the
152+
collection name the generated DbSet takes. Every port registers it and reads the `naming.collections`
153+
key that names the default pluralizer; C# codegen does not apply that pluralizer yet.
151154
- *Loads strictly in every port.* Each port registers the `metaobjects-ui-web` provider
152155
(`view.textarea @rows`, the `view.image` attrs) and `@object` / `@objectAdapter` on
153156
`object.*`, loads all three fixtures strictly, and emits `implementedIn` in its manifest, which

‎docs/features/migrations/physical-naming.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@ and is `pascal` otherwise:
6262

6363
Table rules register the same way (`namingStrategies.tables`, `RegisterTables`, `registerTables`,
6464
`register_table_naming_rule`) and name a source with no physical name; the entity-name fallback
65-
is still made plural after the rule. Pluralizers register the same way (`registerPluralizer`, `RegisterPluralizer`,
66-
`registerPluralizer`, `register_pluralizer`): an object name in, in its declared casing, its
67-
collection name out. `standard` is the cross-port plural and `none` keeps the name as it is. A built-in name cannot be replaced. Register the same
65+
is still made plural after the rule. Pluralizers register the same way (`registerPluralizer`,
66+
`RegisterPluralizer`, `registerPluralizer`, `register_pluralizer`): an object name in, in its
67+
declared casing, its collection name out. `standard` is the cross-port plural and `none` keeps the
68+
name as it is. A built-in name cannot be replaced. Register the same
6869
strategy in every port that reads the database, because each port resolves the names itself.
6970
Every port looks a strategy up by name each time it applies one, so registering again under the
7071
same name replaces it for everything that runs afterwards. A test that registers its own calls

‎fixtures/registry-conformance/README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,8 @@ still fails everywhere.
257257
generic `view.*` controls (`checkbox`, `date`, `dropdown`, `hidden`, `hotlink`, `image`,
258258
`month`, `number`, `password`, `radio`, `text`, `textarea`, `web`) and their attrs
259259
(`view.textarea @rows`, `view.image @accept/@aspectRatio/@maxBytes/@maxEdge/@store`) are
260-
`["typescript"]`; `object.* @object` (ADR-0001) is `["java"]`. They used to be carved out
260+
`["typescript"]`; `object.* @object` (ADR-0001) is `["java"]`; `object.* @collectionName` is
261+
`["csharp"]`. They used to be carved out
261262
as `PRESENTATION_ONLY` / `NATIVE_BINDING`; both reasons are retired. The parity gaps are
262263
listed in `docs/CONFORMANCE.md`, "Split coverage".
263264
- **Kind 2 — language-specific by nature.** The attr carries `"ports": [...]`:

0 commit comments

Comments
 (0)