Correspondencia de tipos de datos C# y SQL Server: guía completa
¡Hola a todos! Soy un desarrollador C# principiante, estoy escribiendo una pequeña aplicación para trabajar con una base de datos SQL Server a través de Entity Framework. Me encontré con un problema: no puedo entender exactamente qué tipos de datos en C# corresponden a los tipos en SQL Server.
Por ejemplo, tengo una tabla con columnas:
CREATE TABLE Users (
Id INT PRIMARY KEY,
Name NVARCHAR(100),
Salary DECIMAL(18,2),
IsActive BIT,
CreatedAt DATETIME2
);
En C# creo un modelo:
public class User
{
public int Id { get; set; } // INT -> int, aquí parece claro
public string Name { get; set; } // NVARCHAR -> string, también claro
public decimal Salary { get; set; } // DECIMAL -> decimal?
public bool IsActive { get; set; } // BIT -> bool?
public DateTime CreatedAt { get; set; } // DATETIME2 -> DateTime?
}
Pero hay muchos otros tipos: BIGINT, SMALLINT, TINYINT, FLOAT, REAL, MONEY, UNIQUEIDENTIFIER, VARBI