2011-10-20 13 views
7

acabo descargado LINQPad para explorar los beneficios de utilizar las consultas LINQ en una aplicación que estoy trabajando, sin embargo, cuando miro a mis tablas de la base de la columna en las pantallas LINQPad izquierda todas mis tablas con una 's' al final, por ejemplo, CategoryTbl se convierte en CategoryTbls aún cuando veo mi base de datos en el estudio de administración de SQL, los nombres de la tabla aparecen correctos.LINQPad añade una S al final de cada mesa

Aunque cualquier tabla que debe tener una S en el extremo es decir, los clientes permanecen sin cambios.

Cuando ejecuto una consulta LINQ tengo que ejecutarla contra CategoryTbls pero una consulta SQL tiene que ser ejecutado en contra CategoryTbl.

Me preguntaba por qué sucedió esto, ¿es un error o una característica? y si es una característica, ¿por qué?

Gracias

Respuesta

11

La primera pregunta del LINQPad FAQ:

¿Por qué pluralizar LINQPad mesa y asociación niño propiedades? ¿Puedo apagar esto?

La pluralización de las propiedades de asociación de elementos secundarios (aunque mantiene las asociaciones de elementos principales en singular) genera las consultas más naturales y es lo que Visual Studio hace de forma predeterminada en la construcción de DataContexts.

Para desactivar la pluralización, desmarque la opción "Pluralizar" al agregar la conexión a la base de datos. (Si la conexión ya se ha creado, haga clic con el botón derecho para editar las propiedades de conexión).

+0

Gracias, lol No pensé en las preguntas frecuentes, busqué en Google esto un poco y el mensaje de error que recibía pero obtuve algunos resultados bastante genéricos. – Purplegoldfish

4

Este es también el comportamiento estándar de LINQ2SQL generan artefactos - los IEnumerables en la DataContext son [NombreTabla] s y la entidad está [NombreTabla]. Entonces sus consultas linq normalmente serían algo así como.

List<Category> categoryList = context.Categories.Where(cat => somePredicateOnCat).ToList(); 

Esto generalmente hace que la lectura sea intuitiva. ¿Considerarías descartar el sufijo húngaro 'tbl' de tus estándares de nombres de tabla?

Cuestiones relacionadas