Share via


Tipo de entidad (EDM)

En el Entity Data Model (EDM), un EntityType es la plantilla de diseño de un tipo de datos en el dominio de la aplicación. La declaración de una entidad representa de forma esquemática un tipo de datos especial. El esquema se usa para especificar todos los detalles del tipo de datos, sin la molestia que supone la estructura o el código de las tablas. Una vez completado el diseño, se crea un tipo de datos programable basado en él.

Un EntityType del EDM se usa para modelar un concepto de nivel superior, como un cliente, un pedido o un suministrador en una aplicación empresarial. Cada entidad se define como un EntityType en el lenguaje de definición de esquemas conceptuales (CSDL, Conceptual Schema Definition Language). Una vez definido el EntityType esquemáticamente, se convierte en una unidad operativa para el desarrollo de la aplicación. Cada EntityType es conceptualmente independiente y tiene una entidad única.

Propiedades de identidad e identidad

Un EntityType de un esquema tiene un nombre, propiedades y una propiedad Key que identifica el tipo de datos cuando el código de la aplicación crea instancias del mismo.

La mayor parte de la información acerca de un EntityType está contenida en sus propiedades. Una propiedad consta de los datos de un SimpleType o ComplexType del EDM. Las propiedades solo tienen un valor, aunque un tipo NavigationProperty se puede utilizar con una asociación para implementar una propiedad que funcione como una colección de elementos de datos. Para obtener más información acerca de las propiedades de navegación, vea Propiedades de navegación (EDM) en el EDM. Para obtener más información acerca de las asociaciones, vea Relaciones del Entity Data Model.

Propiedades

Una propiedad agrega información a un EntityType definiendo un nombre único para un valor de un tipo de datos especificado. La especificación de propiedad consta de un nombre y un tipo, y puede especificar restricciones de acceso mediante los atributos SetterAccess y GetterAccess. El tipo de una propiedad se selecciona entre los especificados como SimpleType del EDM.

El valor de todas las propiedades, excepto de las que participan en una propiedad Key, puede ser Null. En el siguiente ejemplo se muestra la declaración de un EntityType.

<EntityType Name="Person">
  <Key>
      <PropertyRef Name="EmailID"/>
  </Key>
  <Property Name="EmailID" Type="String" Nullable="false" />
  <Property Name="Name" Type="String" />
  <Property Name="Address" Type="String" />
  <Property Name="PhoneNumber" Type=" String"/>
</EntityType>

En este ejemplo, la propiedad EmailID se especifica como la propiedad Key en esta entidad. La clave no puede ser Null, es decir, una instancia de Person debe tener un identificador de correo electrónico. La propiedad Key se usa para identificar las instancias del tipo en las aplicaciones que la usan.

Clave de entidad

Un EntityType debe definir una propiedad Key que consta de una o varias de las propiedades definidas para este tipo. Cualquier conjunto de las propiedades SimpleType puede actuar como clave. Ninguna de las propiedades que se usan en la clave puede ser Null en el código de la aplicación.

Nota

El uso de un tipo String como clave no es aconsejable por motivos relacionados tanto con el rendimiento como con la capacidad de predicción; el significado de cad1 == cad2 es muy ambiguo.

En el ejemplo siguiente se muestra la asignación del atributo de Key a una clave compuesta que usa dos propiedades SimpleType:

<EntityType Name="Person">
   <Key>
      <PropertyRef Name="ContactId" />
      <PropertyRef Name="Name" />
   </Key>
      <Property Name="ContactId" Type="String" Nullable="false" />
      <Property Name="Name" Type="String" Nullable="false" />
      <Property Name="PhoneNumber" Type="String" />
</EntityType>

Vea también

Conceptos

Tipos simples (EDM)
Tipo complejo (EDM)
Tipos del Entity Data Model