Tôi có một truy vấn với cách datetimes được so sánh/lưu trữ trong C#. Hãy xem xét mã sau:So sánh datetimes bằng không so sánh
var createdDate = DateTime.Now;
using (cr = new LanguageDictionaryRepository(ds)) {
cr.Add(new Sybrin10.Data.DTO.LanguageDictionary() {
Active = true,
CreatedDate = createdDate,
CultureCode = cultureCode,
Data = new System.Text.UTF8Encoding().GetBytes("Test")
});
cr.Save();
var y = cr.FindBy(x => x.CultureCode == cultureCode && x.CreatedDate == createdDate).FirstOrDefault();
Assert.IsNotNull(y);
Assert.IsNotNull không thực hiện được do kiểm tra ngày giờ. Tôi hy vọng rằng khi cá thể LanguageDictionary được tạo ra với giá trị của biến đó, hai giá trị này sẽ bằng nhau. Điều này đang sử dụng Telerik.OpenAccess và MSSQL như là một lớp DB vì vậy tôi giả định vấn đề đi kèm trong đó. Bất cứ ai có thể cho tôi biết nếu có bất cứ điều gì tôi đang thiếu với điều này và làm thế nào để so sánh chính xác các giá trị này.
EDIT: Các giá trị đánh dấu là khác nhau nhưng tôi không biết tại sao như cả hai đều xuất phát từ cùng một biến mà tôi chỉ gán cho một lần.
Bạn có chắc chắn những ngày giống hệt nhau? Việc so sánh sẽ mất vài giờ/phút/giây/milli giây trong tài khoản. – Oded
Đó là điều, các giá trị đánh dấu là khác nhau nhưng tôi không chắc chắn lý do tại sao khi cả hai đều xuất phát từ CreatedDate biến tương tự. – Ash
System.DateTime – Ash