SQLiteDatabase.SetForeignKeyConstraintsEnabled(Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Imposta un valore che indica se i vincoli di chiave esterna sono abilitati per il database.
[Android.Runtime.Register("setForeignKeyConstraintsEnabled", "(Z)V", "GetSetForeignKeyConstraintsEnabled_ZHandler")]
public virtual void SetForeignKeyConstraintsEnabled (bool enable);
[<Android.Runtime.Register("setForeignKeyConstraintsEnabled", "(Z)V", "GetSetForeignKeyConstraintsEnabled_ZHandler")>]
abstract member SetForeignKeyConstraintsEnabled : bool -> unit
override this.SetForeignKeyConstraintsEnabled : bool -> unit
Parametri
- enable
- Boolean
True per abilitare i vincoli di chiave esterna, false per disabilitarli.
- Attributi
Eccezioni
se sono in corso transazioni quando viene chiamato questo metodo.
Commenti
Imposta un valore che indica se i vincoli di chiave esterna sono abilitati per il database.
Per impostazione predefinita, i vincoli di chiave esterna non vengono applicati dal database. Questo metodo consente a un'applicazione di abilitare vincoli di chiave esterna. Deve essere chiamato ogni volta che il database viene aperto per assicurarsi che i vincoli di chiave esterna siano abilitati per la sessione.
Un buon momento per chiamare questo metodo è subito dopo la chiamata #openOrCreateDatabase
o nel SQLiteOpenHelper#onConfigure
callback.
Quando i vincoli di chiave esterna sono disabilitati, il database non verifica se le modifiche apportate al database violano i vincoli di chiave esterna. Analogamente, quando i vincoli di chiave esterna sono disabilitati, il database non eseguirà trigger di eliminazione o aggiornamento a catena. Di conseguenza, è possibile che lo stato del database diventi incoerente. Per eseguire un controllo di integrità del database, chiamare #isDatabaseIntegrityOk
.
Questo metodo non deve essere chiamato mentre è in corso una transazione.
Per altre informazioni sul supporto dei vincoli di chiave esterna, vedere anche Vincoli di chiave esterna SQLite.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.