PropertyAccessMode Enum

Definition

Pass a value from this enum to UsePropertyAccessMode(PropertyAccessMode), UsePropertyAccessMode(PropertyAccessMode), or UsePropertyAccessMode(PropertyAccessMode) to change whether the property or backing field will be used when reading and writing to a property or field.

The default behavior is PreferField. Prior to EF Core 3.0, the default behavior was PreferFieldDuringConstruction.

public enum PropertyAccessMode
type PropertyAccessMode = 
Public Enum PropertyAccessMode
Inheritance
PropertyAccessMode

Fields

Field 0

Enforces that all accesses to the property must go through the field.

An exception will be thrown if this mode is set and it is not possible to read from or write to the field.

FieldDuringConstruction 1

Enforces that all accesses to the property must go through the field when new instances are being constructed. New instances are typically constructed when entities are queried from the database. An exception will be thrown if this mode is set and it is not possible to write to the field.

All other uses of the property will go through the property getters and setters, unless this is not possible because, for example, the property is read-only, in which case these accesses will also use the field.

PreferField 3

All accesses to the property goes directly to the field, unless the field is not known, in which as access goes through the property.

PreferFieldDuringConstruction 4

All accesses to the property when constructing new entity instances goes directly to the field, unless the field is not known, in which as access goes through the property. All other uses of the property will go through the property getters and setters, unless this is not possible because, for example, the property is read-only, in which case these accesses will also use the field.

PreferProperty 5

All accesses to the property go through the property, unless there is no property or it is missing a setter/getter, in which as access goes directly to the field.

Property 2

Enforces that all accesses to the property must go through the property getters and setters, even when new objects are being constructed.

An exception will be thrown if this mode is set and it is not possible to read from or write to the property, for example because it is read-only.

Remarks

See Property versus field access in EF Core for more information.

Applies to