2012-08-03 34 views
5

en Ruby es posible utilizar las cuerdas sin la necesidad de escapar de las comillas en la cadena, como Q/Algunas mi cadena con "comillas dobles"/¿Cómo evitar el escape de comillas dobles en cadenas de C#?

¿Es posible con C# para usar una cadena sin necesidad escapar comillas dobles? Por una buena razón, tengo que escribir SQL en línea y es muy molesto escapar de las comillas dobles cada vez que pongo la consulta SQL de la consola de DB al código C#.

sé que es posible usar \" o '' como una cita doble. Pero es posible evitar la necesidad de escapar de las comillas dobles?

+0

En pocas palabras. No. Puede usar el símbolo @ para detener la cadena larga "this is a" + [newline for code clarity] "que no desea en una línea"; pero no hay forma de evitar el escape. –

Respuesta

4

No, esto no es posible en C#. Se puede escribir SQL en un archivo separado y luego leerla desde allí

9

No, básicamente, usted tiene la opción de "foo \" bar" o @"foo "" bar", ambos de los cuales usted ha mencionado Sin embargo, francamente rara vez encontrar " necesaria en SQL;... usted tiene ' para cadenas literales y [/] para nombres de objeto/columna - por supuesto, esto podría ser porque lo de siempre usar SQL Server.

La única alternativa que no incluye involucrar cualquier escape es mover el SQL a un archivo de recursos externo, tal vez un archivo de texto. Eso, sin embargo, es probablemente más doloroso que usar "".

+1

Uso PostgreSQL, donde los nombres de CamelCase deben escaparse con comillas dobles. – Zelid

+0

@Zelid Sí, sospechaba que podría estar usando un motor de DB diferente para mí (rara vez veo este problema). Lo siento, tienes que elegir qué opción es la peor, peor, supongo. –

0

Para una buena razón por la que necesito escribir SQL en línea y es muy molesto para comillas dobles de escape cada vez que pongo consulta SQL desde la consola de base de datos para el código C# .

Si está escribiendo una consulta de SQL en línea no necesita preocuparse por las cotizaciones si pasó los valores a través de SqlParameters. De esta manera no verá las molestas comillas dobles en todas partes e incluso su consulta estará a salvo de Sql Injection

+0

Utilizo Massive como una biblioteca ligera de acceso a bases de datos. Siempre usa params de escape. Necesito usar comillas dobles en los nombres de columnas y tablas en PostgreSQL cuando uso los nombres de CamelCase. – Zelid

+0

@Zelid oh, en ese caso, estoy de acuerdo, será molesto ver comillas dobles en todas partes y no creo que tengas otra opción – HatSoft

Cuestiones relacionadas