.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+
.NET Core 3.0+

IDCIntermediateObject Interface

Declares members of the class that can be a base for intermediate classes defining many-to-many associations between Domain Components.

Namespace: DevExpress.ExpressApp.DC.ClassGeneration

Assembly: DevExpress.ExpressApp.Xpo.v21.1.dll


public interface IDCIntermediateObject


The base class for intermediate classes that define many-to-many associations in DC should conform to the following:

  • Be a non-persistent XPO class with a key field.
  • The key field should be auto-generated (auto-generation is enabled using the KeyAttribute), or you should implement key generation programmatically.
  • It should implement the IDCIntermediateObject interface.

Below is a sample implementation of this interface.

public abstract class CustomDCIntermediateObject : XPObject, IDCIntermediateObject {
    public DCIntermediateObject(Session session) : base(session) { }
    public abstract object LeftObject { get; }
    public abstract object RightObject { get; }
    public abstract Type LeftObjectType { get; }
    public abstract Type RightObjectType { get; }

Do not use the DCBaseObject class as a base, as its key is not autogenerated.

To use your custom IDCIntermediateObject implementation instead of the default DCIntermediateObject, change the value of the static DCIntermediateObjectSettings.BaseType property.

See Also