Übereinstimmung der Datentypen von C# und SQL Server: vollständige Anleitung
Hallo zusammen! Ich bin ein C#-Anfänger und schreibe eine kleine Anwendung, die mit einer SQL Server-Datenbank über Entity Framework arbeitet. Ich bin auf ein Problem gestoßen: Ich kann nicht genau verstehen, welche Datentypen in C# den Typen in SQL Server entsprechen.
Zum Beispiel habe ich eine Tabelle mit Spalten:
CREATE TABLE Users (
Id INT PRIMARY KEY,
Name NVARCHAR(100),
Salary DECIMAL(18,2),
IsActive BIT,
CreatedAt DATETIME2
);
In C# erstelle ich ein Model:
public class User
{
public int Id { get; set; } // INT -> int, das ist wohl klar
public string Name { get; set; } // NVARCHAR -> string, auch klar
public decimal Salary { get; set; } // DECIMAL -> decimal?
public bool IsActive { get; set; } // BIT -> bool?
public DateTime CreatedAt { get; set; } // DATETIME2 -> DateTime?
}
Aber es gibt viele andere Typen: BIGINT, SMALLINT, TINYINT, FLOAT, REAL, MONEY, UNIQUEIDENTIFIER, VARBI