C# 与 SQL Server 数据类型对应关系:完整指南
大家好!我是一名初学 C# 的开发者,正在通过 Entity Framework 编写一个与 SQL Server 数据库交互的小应用程序。我遇到了一个问题:无法准确理解 C# 中的哪些类型与 SQL Server 中的类型相对应。
例如,我有一个包含以下列的表:
CREATE TABLE Users (
Id INT PRIMARY KEY,
Name NVARCHAR(100),
Salary DECIMAL(18,2),
IsActive BIT,
CreatedAt DATETIME2
);
在 C# 中,我创建了模型:
public class User
{
public int Id { get; set; } // INT -> int,这里似乎清楚
public string Name { get; set; } // NVARCHAR -> string,也很明确
public decimal Salary { get; set; } // DECIMAL -> decimal?
public bool IsActive { get; set; } // BIT -> bool?
public DateTime CreatedAt { get; set; } // DATETIME2 -> DateTime?
}
但还有很多其他类型:BIGINT, SMALLINT, TINYINT, FLOAT, REAL, MONEY, UNIQUEIDENTIFIER, VARBI