NPersistence Reference Guide
Applied to a persistent field or property of an entity class or mapped superclass to denote a composite primary key that is an embeddable class. The embeddable class must be annotated as Embeddable.

There must be only one EmbeddedId annotation and no Id annotation when the EmbeddedId annotation is used.

The AttributeOverride annotation may be used to override the column mappings declared within the embeddable class.

The MapsId annotation may be used in conjunction with the EmbeddedId annotation to specify a derived primary key.

If the entity has a derived primary key, the AttributeOverride annotation may only be used to override those attributes of the embedded id that do not correspond to the relationship to the parent entity.

Relationship mappings defined within an embedded id class are not supported.

Examples

CopyC#
Example 1:

[EmbeddedId]
protected EmployeePK empPK;


Example 2:

[Embeddable]
public class DependentId {
   String name;
   EmployeeId empPK;   // corresponds to primary key type of Employee
}

[Entity]
public class Dependent {
   // default column name for "name" attribute is overridden
   [AttributeOverride(PropertyName="name", Name="dep_name")]
   [EmbeddedId] DependentId id;
   ...
   [MapsId("empPK")]
   [ManyToOne] Employee emp;
}

Namespace: NPersistence
Assembly: NPersistence (in NPersistence.dll) Version: 2.0.0.0 (2.0.0.0)

Syntax

   
 C# 
public sealed class EmbeddedId : Attribute

Members

      
 All Members  Constructors  
 Public

 Protected
 Instance

 Static 
 Declared

 Inherited
 XNA Framework Only 

 .NET Compact Framework Only 

 MemberDescription
EmbeddedId()()()()
Initializes a new instance of the EmbeddedId class

Inheritance Hierarchy

System..::..Object
  System..::..Attribute
    NPersistence..::..EmbeddedId

See Also