PropertyAccessMode 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將這個列舉中的值傳遞至 UsePropertyAccessMode(PropertyAccessMode) 、 UsePropertyAccessMode(PropertyAccessMode) 或 UsePropertyAccessMode(PropertyAccessMode) ,以變更讀取和寫入屬性或欄位時,是否會使用屬性或支援欄位。
public enum PropertyAccessMode
type PropertyAccessMode =
Public Enum PropertyAccessMode
- 繼承
-
PropertyAccessMode
欄位
Field | 0 | 強制所有對 屬性的存取都必須通過 欄位。 |
FieldDuringConstruction | 1 | 強制在建構新的實例時,所有對 屬性的存取都必須經過 欄位。 從資料庫查詢實體時,通常會建構新的實例。 如果設定此模式,而且無法寫入欄位,將會擲回例外狀況。 |
PreferField | 3 | 屬性的所有存取都會直接移至欄位,除非不知道欄位,在此情況下,存取會通過 屬性。 |
PreferFieldDuringConstruction | 4 | 建構新實體實例時,所有對屬性的存取都會直接移至 欄位,除非不知道欄位,在此情況下存取會通過 屬性。 屬性的所有其他用法都會經歷屬性 getters 和 setter,除非無法這樣做,例如,屬性是唯讀的,在此情況下,這些存取也會使用 欄位。 |
PreferProperty | 5 | 屬性的所有存取都會經過 屬性,除非沒有 屬性,或遺漏 setter/getter,在此情況下,存取權會直接移至 欄位。 |
Property | 2 | 強制所有對屬性的存取都必須經過屬性 getter 和 setter,即使正在建構新的物件亦然。 |
備註
預設行為是 PreferField。 在 EF Core 3.0 之前,預設行為為 PreferFieldDuringConstruction 。
如需詳細資訊和範例 ,請參閱 EF Core 中的屬性與欄位存取 。