Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - GUID en ASP. neto

GUID en ASP. neto

GUID (Identificador único global) ​​Un identificador único global es un valor binario de un byte generado a partir del número de identificación en la tarjeta de red (cada tarjeta de red tiene un número de identificación único) y el número único del reloj de la CPU.

El formato del GUID es: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

No hay dos computadoras en el mundo que generen valores GUID duplicados. GUID se utiliza principalmente para asignar identificadores únicos en una red o sistema con múltiples nodos y computadoras. GUID se usa ampliamente en plataformas Windows, como clases de registro, bases de datos de identificación de interfaces e incluso nombres de máquinas y directorios generados automáticamente.

Durante el desarrollo de aplicaciones ASP NET, utilicé la columna ID con GUID como clave de cada tabla de entidad. Debido a sus características únicas y fáciles de crear, trajo muchos problemas. beneficio de la solicitud.

Uso de GUID en SQL Server

Si el tipo de columna se especifica como identificador único en la definición de tabla de SQL Server, el valor de la columna es de tipo GUID.

La función NewID() en SQL Server puede generar un valor GUID único. Hay varias formas de utilizar esta función.

) como valor predeterminado de la columna.

Establezca el valor predeterminado de la columna de identificador único en NewID() para que el valor GUID de esta columna se genere automáticamente cuando se inserte una nueva fila en la tabla.

) Utilice T SQL

Utilice la función NewID() (como insertar en valores de tabla(id)(NewID()) en T SQL) para generar el valor GUID de este column.

) Obtenga el valor GUID de antemano

Debido a que la función es especial, necesita conocer el valor de ID de la nueva fila de antemano. También puede usar el siguiente C#. código para obtener el valor GUID por adelantado y luego almacenarlo en la base de datos:

SqlCommand cmd = New SqlCommand();

cmd CommandText = SELECT NewID();

string rowID = (string)cmd ExecuteScalar();

p>

cmd CommandText =Insertar valor de tabla (ID) (@ID)

cmd parámetro Add( @ ID SqlDbType identificador único)Value = new Guid(rowID);

cmd ExecuteNoQuery();

Los valores de identificador único no pueden estar sujetos a operaciones aritméticas, pero sí a comparaciones y comprobaciones de valores nulos puede ser llevado a cabo. No puede conocer el orden de tiempo creciente de cada fila como la columna IDENTIDAD; esta funcionalidad solo se puede lograr agregando otras columnas de tiempo o marca de tiempo.

& gt& gtPS:PD:La forma en que Oracle obtiene guid es sys_guid().

Uso de GUID en la red

Los guids se utilizan ampliamente en NET y NET Framework proporciona una infraestructura GUID especial.

Los métodos comunes de la estructura Guid incluyen

)Guid NewGUID()

Generar un nuevo valor único del GUID

)Guid ToString( )

Convertir valores GUID en cadenas es fácil de manejar.

) Constructor Guid (cadena)

Genera una estructura Guid a partir de una cadena. La cadena puede estar en mayúsculas o minúsculas. Ambos extremos pueden contener delimitadores {} o (), o incluso omitirse. Constructor de la estructura Guid intermedia. Hay muchos otros constructores que se utilizan con menos frecuencia.

Al mismo tiempo, para satisfacer la necesidad de utilizar Guid en la base de datos, NET Framework también proporciona la estructura SqlGuid, que es similar a la estructura Guid, excepto que son diferentes en la forma de Comparar con. SqlGuid cuenta el último byte del valor, mientras que Guid cuenta todos los bytes. Esta diferencia puede tener algún impacto en el orden de la columna de identificador único en SQL Server, pero por supuesto este orden tiene poca importancia.

En NET Framework, puede utilizar la clase GuidConverter para proporcionar un conversor de tipos para convertir la estructura GUID hacia y desde otras representaciones.

Ventajas y desventajas de GUID

) Ventajas

En comparación con la columna IDENTIDAD, la columna de identificador único puede conocer de antemano el ID de fila recién agregado a través de NewID( ) Función que proporciona una gran comodidad para el procesamiento posterior de las solicitudes.

Facilita la migración de bases de datos. Es posible que otras bases de datos no tengan necesariamente columnas de identidad, pero las columnas GUID se pueden convertir a otras bases de datos como columnas de caracteres y los valores Guid generados en la aplicación se pueden almacenar en la base de datos sin afectar los datos originales.

Facilita la inicialización de la base de datos. Si la aplicación necesita cargar algunos datos iniciales, será problemático procesar la columna IDENTIDAD, pero la columna de identificador único se puede cargar directamente usando T SQL sin ningún procesamiento.

Es muy conveniente identificar permanentemente algunos objetos o constantes, como la identificación de instancia del objeto ClassID de la clase, la definición de identificación de tModel de la interfaz de servicio de contacto en UDDI, etc.

) Desventajas

El valor GUID es relativamente largo, difícil de recordar e ingresar, y el valor es aleatorio y desordenado, por lo que es mejor no intentar usarlo como su correo electrónico. dirección j.

El valor de GUID es bytes, que es relativamente mayor que otros números enteros como bytes. Esto significa que si se utiliza la clave de identificación única en la base de datos, puede tener dos efectos negativos: mayor espacio de almacenamiento y mayor lentitud. tiempo de indexación.

Lishi Xinzhi/Article/program/net/201311/13985

上篇: La estufa de Zhou Gong se cayó_¿Qué significa soñar que la estufa se cayó? 下篇: ¿Por qué se dice en "El Oso" que el verdadero malo no es Bald Qiang, que tala árboles, sino Xiong Er, que protege el bosque?
Artículos populares