2010-09-17 16 views

Respuesta

0

LINQ-to-SQL funciona mejor con un solo campo int como clave principal. Si tiene una clave primaria compuesta, su mejor opción es crear una clave sustituta para esa tabla utilizando un único campo entero.

+1

Dado que LinqToSql funciona con claves primarias compuestas, no necesita agregar un entero sustituto cuando no es apropiado (por ejemplo, si la clave compuesta aplica la singularidad deseada de una fila, naturalmente). En su lugar, puede establecer manualmente las propiedades de 2 columnas en 'Primary Key = True' en el archivo DBML y LinqToSQL funcionará como se espera. –

+0

Tiene toda la razón. También puede crear el sustituto y especificar una restricción única en las columnas múltiples. La pregunta es si desea o no administrar manualmente las claves primarias compuestas o si permite que LINQ-to-SQL administre la misma clave de enteros. Prefiero las claves primarias individuales enteras, principalmente porque no soy fanático de las claves externas compuestas. Su experiencia y preferencia pueden ser respetuosamente diferentes ... –

+0

Estoy totalmente de acuerdo con Luke. Crear una clave sustituta solo para hacer que Linq to SQL sea feliz no es una razón razonable. –

Cuestiones relacionadas