@@ -91,14 +91,8 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
9191 var customSelectAttr = propertyInfo . FirstAttribute < CustomSelectAttribute > ( ) ;
9292 var decimalAttribute = propertyInfo . FirstAttribute < DecimalLengthAttribute > ( ) ;
9393 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+
10296 var isRowVersion = propertyInfo . Name == ModelDefinition . RowVersionName
10397 && ( propertyInfo . PropertyType == typeof ( ulong ) || propertyInfo . PropertyType == typeof ( byte [ ] ) ) ;
10498
@@ -116,6 +110,18 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
116110 if ( propertyType . IsEnumFlags ( ) || propertyType . HasAttribute < EnumAsIntAttribute > ( ) )
117111 treatAsType = Enum . GetUnderlyingType ( propertyType ) ;
118112
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+
119125 var aliasAttr = propertyInfo . FirstAttribute < AliasAttribute > ( ) ;
120126
121127 var indexAttr = propertyInfo . FirstAttribute < IndexAttribute > ( ) ;
@@ -127,7 +133,6 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
127133 var defaultValueAttr = propertyInfo . FirstAttribute < DefaultAttribute > ( ) ;
128134
129135 var referencesAttr = propertyInfo . FirstAttribute < ReferencesAttribute > ( ) ;
130- var referenceAttr = propertyInfo . FirstAttribute < ReferenceAttribute > ( ) ;
131136 var fkAttr = propertyInfo . FirstAttribute < ForeignKeyAttribute > ( ) ;
132137 var customFieldAttr = propertyInfo . FirstAttribute < CustomFieldAttribute > ( ) ;
133138 var chkConstraintAttr = propertyInfo . FirstAttribute < CheckConstraintAttribute > ( ) ;
@@ -162,7 +167,7 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
162167 ForeignKey = fkAttr == null
163168 ? referencesAttr != null ? new ForeignKeyConstraint ( referencesAttr . Type ) : null
164169 : new ForeignKeyConstraint ( fkAttr . Type , fkAttr . OnDelete , fkAttr . OnUpdate , fkAttr . ForeignKeyName ) ,
165- IsReference = referenceAttr != null && propertyType . IsClass ,
170+ IsReference = isReference ,
166171 GetValueFn = propertyInfo . CreateGetter ( ) ,
167172 SetValueFn = propertyInfo . CreateSetter ( ) ,
168173 Sequence = sequenceAttr ? . Name ,
@@ -175,8 +180,6 @@ internal static ModelDefinition GetModelDefinition(this Type modelType)
175180 IsRefType = propertyType . IsRefType ( ) ,
176181 } ;
177182
178- var isIgnored = propertyInfo . HasAttribute < IgnoreAttribute > ( )
179- || fieldDefinition . IsReference ;
180183 if ( isIgnored )
181184 modelDef . IgnoredFieldDefinitions . Add ( fieldDefinition ) ;
182185 else
0 commit comments