Avatar ·

Correspondance des types de données C# et SQL Server : guide complet

Bonjour à tous ! Je suis un développeur C# débutant, j'écris une petite application pour travailler avec une base de données SQL Server via Entity Framework. J'ai rencontré un problème : je n'arrive pas à comprendre exactement quels types de données en C# correspondent aux types dans SQL Server.

Par exemple, j'ai une table avec des colonnes :

CREATE TABLE Users (
    Id INT PRIMARY KEY,
    Name NVARCHAR(100),
    Salary DECIMAL(18,2),
    IsActive BIT,
    CreatedAt DATETIME2
);

En C#, je crée un modèle :

public class User
{
    public int Id { get; set; }           // INT -> int, c'est clair
    public string Name { get; set; }      // NVARCHAR -> string, aussi clair
    public decimal Salary { get; set; }   // DECIMAL -> decimal ?
    public bool IsActive { get; set; }    // BIT -> bool ?
    public DateTime CreatedAt { get; set; } // DATETIME2 -> DateTime ?
}

Mais il y a beaucoup d'autres types : BIGINT, SMALLINT, TINYINT, FLOAT, REAL, MONEY, UNIQUEIDENTIFIER, VARBI