.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+
A newer version of this page is available. Switch to the current version.

NoForeignKeyAttribute Class

Disables automatic creation of the FOREIGN KEY constraints.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v19.2.dll

Declaration

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, Inherited = true)]
public sealed class NoForeignKeyAttribute :
    Attribute
<AttributeUsage(AttributeTargets.Property Or AttributeTargets.Field, Inherited:=True)>
Public NotInheritable Class NoForeignKeyAttribute
    Inherits Attribute
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = true)]
public sealed class NoForeignKeyAttribute :
    Attribute
<AttributeUsage(AttributeTargets.Field Or AttributeTargets.Property, Inherited:=True)>
Public NotInheritable Class NoForeignKeyAttribute
    Inherits Attribute

Remarks

The following code demonstrates how to use the NoForeignKeyAttribute:


public class Person : XPObject
{
    // ...
    [Association("Person-Orders")]
    public XPCollection<Order> Orders {
        get { return GetCollection<Order>(nameof(Orders)); }
    }
}

public class Order : XPObject {
    // ...
    [Association("Person-Orders"), NoForeignKey]
    public Person PersonID {
        get { return fPersonID; }
        set { SetPropertyValue(nameof(PersonID), ref fPersonID, value); }
    }
    Person fPersonID;

}
NOTE

Foreign keys preserve referential integrity in a relational database. A lack of referential integrity in a database can lead to errors or returning incomplete data without indication of an error. To enforce the data integrity at the database level, do not disable automatic creation of the FOREIGN KEY constraints (or always add them manually).

Inheritance

See Also