مراسلات أنواع البيانات بين C# وSQL Server: دليل كامل
مرحبًا بالجميع! أنا مطور C# مبتدئ، وأكتب تطبيقًا صغيرًا للعمل مع قاعدة بيانات SQL Server عبر Entity Framework. واجهت مشكلة: لا أستطيع فهم أنواع البيانات في 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، VARBINARY، إلخ. أنا باستمرار