martes, 1 de diciembre de 2015

Entity Class en C#

Para crear una Entity Class es necesario hacer uso del espacio de nombres System.Data.Linq.Mapping.

Ejemplo

El atributo Table identifica esta clase como una entity class, el parámetro Name especifica el nombre de la corrrespondiente tabla en la base de datos. Si usted omite el nombre, LINQ para SQL, asume que el nombre de la clase entidad es el mismo que corresponde a la tabla en la base de datos.

El atributo Column describe una columna de la tabla Products que coincide con una propiedad en la clase Product. El atributo Column puede usar varios parámetros. Los que se presentan en el ejemplo, se describen enseguida:


  • IsPrimaryKey especifica que la propiedad es parte de la una llave primaria.
  • DbType especifica el tipo de dato de la columna en la base de datos. En muchos casos LINQ para SQL puede detectar y convertir el dato a su correspondiente tipo en la clase entidad, hay algunas ocaciones en que es necesario especificar en tipo de dato. Por ejemplo, la columna UnitPrice en la tabla Products usa el tipo money de SQL Server. La clase entidad (entity class) especifica el tipo correspondiente de la propiedad como de valor decimal.
  • El parámetro CanBeNull idica si la columna en la base de datos puede contener un valor nulo. El valor por omisión o default para el parámetro CanbeNull es true. Observe que las dos propiedades en la clase Product, correspondientes a las columnas de la tabla en la base de datos, permiten valores nulos (SupplierID y UnitPrice), los cuales son definidos con posibilidad de ser nulos en la clase entidad (entity class).



Ejemplo de la clase:


[Table(Name = "Products")]
public class Product
{
       [Column(IsPrimaryKey = true, CanBeNull = false)]
       public int ProductID { get; set; }

       [Column]
       public int? SupplierID { get; set; }

       [Column(DbType = "money")]
       public decimal? UnitPrice { get; set; }
}


Referencia:
Microsoft Visual C# 2010 Step by Step, página: 550

No hay comentarios.:

Publicar un comentario