TableAdapters / .NET SQL - ¿Cómo de tipo fuertemente calculado columnas, ya sea en la base de datos o el conjunto de datos?

StackOverflow https://stackoverflow.com/questions/793993

Pregunta

Utilizamos columnas calculadas en unas pocas tablas de SQL Server 2005 que siempre devolver datos de un tipo específico (bit, varchar (50), etc ...).

Estas tablas son consumidos por una capa de datos .NET utilizando conjuntos de datos y TableAdapters de tipo fuerte, sin embargo, desde las columnas calculadas no están limitados a un tipo específico (volvemos siempre un tipo específico, pero que podrían devolver nada) .NET hace no generan columnas de tipo fuerte.

Tres preguntas aquí:  - Las columnas calcuated suelen comprobar que los registros relacionados tienen valores específicos, o devolver un valor único de un documento XML utilizando XPath relacionada. Se calculan las columnas de la herramienta adecuada para esto, o hay una mejor manera de devolver estas piezas relacionadas de datos?

  • Mis búsquedas decir que no, pero es posible fuertemente del tipo de estas columnas en la base de datos en sí?

  • ¿Existe una solución alternativa en el interior del diseñador conjunto de datos de Visual Studio que permitiría que fije los tipos adecuados y mantenerlas en todo conjunto de datos / TableAdapter cambios (ya que el diseñador se consulta la base de datos de actualizar su esquema)?

Gracias!

¿Fue útil?

Solución

En las consultas que se utilizan para devolver estos valores, puede utilizar la función de SQL CAST () para echarlos como cualquier tipo de datos que desea. Creo .NET deberían reconocer el tipo de datos fundido y poner ese tipo en el conjunto de datos.

Otros consejos

En primer lugar, tienen un tipo.

En segundo lugar, el servidor SQL Server le indicará el tipo de clientes si el cliente lo solicita, si es un cliente de la API de C, C # cliente, un cliente JDBC, etc. De lo contrario, los clientes no pueden correctamente el tipo de gato.

En tercer lugar, se puede averiguar qué tipo tienen al mirar los INFORMATION_SCHEMA.COLUMNS (o syscolumns) de fila para las columnas calculadas.

En cuarto lugar, se puede utilizar el operador CAST para convertir estas columnas a cualquier tipo compatible con los tipos actuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top