@@ -42,13 +42,48 @@ private static ScaffoldOptions GetOptions(ConnectionSettings settings, string? c
4242 //options.Schema.EnableSqlServerReturnValue = true;
4343
4444 // set data model options
45+ if ( settings . Scaffold . AsIsNames )
46+ {
47+ // https://github.com/linq2db/linq2db.LINQPad/issues/89
48+ // reset naming options for some objects:
49+ // - entities
50+ // - context properties
51+ // - columns
52+ // more could be added later on request
53+ options . DataModel . EntityClassNameOptions . Casing = NameCasing . None ;
54+ options . DataModel . EntityClassNameOptions . Pluralization = Pluralization . None ;
55+ options . DataModel . EntityClassNameOptions . Transformation = NameTransformation . None ;
56+ options . DataModel . EntityClassNameOptions . DontCaseAllCaps = true ;
57+ options . DataModel . EntityClassNameOptions . PluralizeOnlyIfLastWordIsText = false ;
58+
59+ options . DataModel . EntityContextPropertyNameOptions . Casing = NameCasing . None ;
60+ options . DataModel . EntityContextPropertyNameOptions . Pluralization = Pluralization . None ;
61+ options . DataModel . EntityContextPropertyNameOptions . Transformation = NameTransformation . None ;
62+ options . DataModel . EntityContextPropertyNameOptions . DontCaseAllCaps = true ;
63+ options . DataModel . EntityContextPropertyNameOptions . PluralizeOnlyIfLastWordIsText = false ;
64+
65+ options . DataModel . EntityColumnPropertyNameOptions . Casing = NameCasing . None ;
66+ options . DataModel . EntityColumnPropertyNameOptions . Pluralization = Pluralization . None ;
67+ options . DataModel . EntityColumnPropertyNameOptions . Transformation = NameTransformation . None ;
68+ options . DataModel . EntityColumnPropertyNameOptions . DontCaseAllCaps = true ;
69+ options . DataModel . EntityColumnPropertyNameOptions . PluralizeOnlyIfLastWordIsText = false ;
70+ }
71+
4572 if ( ! settings . Scaffold . Capitalize )
4673 options . DataModel . EntityColumnPropertyNameOptions . Casing = NameCasing . None ;
74+ else
75+ options . DataModel . EntityColumnPropertyNameOptions . Casing = NameCasing . Pascal ;
76+
4777 if ( ! settings . Scaffold . Pluralize )
4878 {
4979 options . DataModel . EntityContextPropertyNameOptions . Pluralization = Pluralization . None ;
5080 options . DataModel . TargetMultipleAssociationPropertyNameOptions . Pluralization = Pluralization . None ;
5181 }
82+ else
83+ {
84+ options . DataModel . EntityContextPropertyNameOptions . Pluralization = Pluralization . PluralIfLongerThanOne ;
85+ options . DataModel . TargetMultipleAssociationPropertyNameOptions . Pluralization = Pluralization . PluralIfLongerThanOne ;
86+ }
5287
5388 options . DataModel . GenerateDefaultSchema = true ;
5489 options . DataModel . GenerateDataType = true ;
0 commit comments