Pregunta

Esto no tiene mucho sentido para mí. Tuvimos que esto ocurra dos veces recientemente al generar objetos SubSonic para una tabla de base de datos o columnas de vista consiguió renombrado a Columnx. La primera vez que tenía sentido porque el nombre de la columna es el valor, una palabra clave de C #. Pero la segunda vez que sucedió, nombre de la columna de la tabla es de grado, que no es una palabra clave o una palabra reservada. ¿Alguien sabe por qué SubSonic convierte este nombre en la columna gradex cuando genera objetos?

Gracias.

¿Fue útil?

Solución

Es, al igual que usted asumió, para sustituir las palabras para que no entren en conflicto con .NET o SQL tipos. No se olvide de las conversaciones SubSonic a diversos proveedores de db por lo que aunque "grado" no es un tipo de MSSQL que es posible que es un Oracle o MySQL, etc ...

Bajo SubSonic.Utilities.Utility es un método denominado KeyWordCheck que hace lo adjuntas.

Tal vez se puede compilar su propia versión y modificar este método para excluir "Grado":

  public static string KeyWordCheck(string word, string table, DataProvider provider)
        {
            string appendWith = "X";
            if (provider.AppendWith != string.Empty)
                appendWith = provider.AppendWith;

            return KeyWordCheck(word, table, appendWith);
        }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top