@@ -91,14 +91,8 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
91
91
var customSelectAttr = propertyInfo . FirstAttribute < CustomSelectAttribute > ( ) ;
92
92
var decimalAttribute = propertyInfo . FirstAttribute < DecimalLengthAttribute > ( ) ;
93
93
var belongToAttribute = propertyInfo . FirstAttribute < BelongToAttribute > ( ) ;
94
- var isFirst = i ++ == 0 ;
95
-
96
- var isAutoId = propertyInfo . HasAttribute < AutoIdAttribute > ( ) ;
97
-
98
- var isPrimaryKey = ( ! hasPkAttr && ( propertyInfo . Name == OrmLiteConfig . IdField || ( ! hasIdField && isFirst ) ) )
99
- || propertyInfo . HasAttributeNamed ( typeof ( PrimaryKeyAttribute ) . Name )
100
- || isAutoId ;
101
-
94
+ var referenceAttr = propertyInfo . FirstAttribute < ReferenceAttribute > ( ) ;
95
+
102
96
var isRowVersion = propertyInfo . Name == ModelDefinition . RowVersionName
103
97
&& ( propertyInfo . PropertyType == typeof ( ulong ) || propertyInfo . PropertyType == typeof ( byte [ ] ) ) ;
104
98
@@ -116,6 +110,18 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
116
110
if ( propertyType . IsEnumFlags ( ) || propertyType . HasAttribute < EnumAsIntAttribute > ( ) )
117
111
treatAsType = Enum . GetUnderlyingType ( propertyType ) ;
118
112
113
+ var isReference = referenceAttr != null && propertyType . IsClass ;
114
+ var isIgnored = propertyInfo . HasAttribute < IgnoreAttribute > ( ) || isReference ;
115
+
116
+ var isFirst = ! isIgnored && i ++ == 0 ;
117
+
118
+ var isAutoId = propertyInfo . HasAttribute < AutoIdAttribute > ( ) ;
119
+
120
+ var isPrimaryKey = ( ! hasPkAttr && ( propertyInfo . Name == OrmLiteConfig . IdField || ( ! hasIdField && isFirst ) ) )
121
+ || propertyInfo . HasAttributeNamed ( typeof ( PrimaryKeyAttribute ) . Name )
122
+ || isAutoId ;
123
+
124
+
119
125
var aliasAttr = propertyInfo . FirstAttribute < AliasAttribute > ( ) ;
120
126
121
127
var indexAttr = propertyInfo . FirstAttribute < IndexAttribute > ( ) ;
@@ -127,7 +133,6 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
127
133
var defaultValueAttr = propertyInfo . FirstAttribute < DefaultAttribute > ( ) ;
128
134
129
135
var referencesAttr = propertyInfo . FirstAttribute < ReferencesAttribute > ( ) ;
130
- var referenceAttr = propertyInfo . FirstAttribute < ReferenceAttribute > ( ) ;
131
136
var fkAttr = propertyInfo . FirstAttribute < ForeignKeyAttribute > ( ) ;
132
137
var customFieldAttr = propertyInfo . FirstAttribute < CustomFieldAttribute > ( ) ;
133
138
var chkConstraintAttr = propertyInfo . FirstAttribute < CheckConstraintAttribute > ( ) ;
@@ -162,7 +167,7 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
162
167
ForeignKey = fkAttr == null
163
168
? referencesAttr != null ? new ForeignKeyConstraint ( referencesAttr . Type ) : null
164
169
: new ForeignKeyConstraint ( fkAttr . Type , fkAttr . OnDelete , fkAttr . OnUpdate , fkAttr . ForeignKeyName ) ,
165
- IsReference = referenceAttr != null && propertyType . IsClass ,
170
+ IsReference = isReference ,
166
171
GetValueFn = propertyInfo . CreateGetter ( ) ,
167
172
SetValueFn = propertyInfo . CreateSetter ( ) ,
168
173
Sequence = sequenceAttr ? . Name ,
@@ -175,8 +180,6 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
175
180
IsRefType = propertyType . IsRefType ( ) ,
176
181
} ;
177
182
178
- var isIgnored = propertyInfo . HasAttribute < IgnoreAttribute > ( )
179
- || fieldDefinition . IsReference ;
180
183
if ( isIgnored )
181
184
modelDef . IgnoredFieldDefinitions . Add ( fieldDefinition ) ;
182
185
else
0 commit comments