Khi tôi có một năm nhuận trong cơ sở dữ liệu của tôi (ví dụ: 29 tháng 2 năm 2012). Các chức năng EntityFunctions.CreateDateTime ném System.Data.SqlClient.SqlException: Conversion failed when converting date and/or time from character string.
EntityFunctions.CreateDateTime vấn đề với năm nhuận trong linq để thực thể
Mã của tôi là như sau trong MVC asp.net của tôi (C#) ứng dụng:
from u in _entities.tt_Users
let _start_date = u.Start_Date
let _startDate = _start_date.Day
let _startmonth = _start_date.Month
let _startyear = _start_date.Year
let _starthour = u.Start_Time.Value.Hours
let _startminutes = u.Start_Time.Value.Minutes
let _startseconds = u.Start_Time.Value.Seconds
let _startDateWithTime = EntityFunctions.CreateDateTime(_startyear, _startmonth, _startDate, _starthour, _startminutes, _startseconds)
let _startDateWithZeroTime = EntityFunctions.CreateDateTime(_startyear, _startmonth, _startDate, 0, 0, 0)
let _start_datetime = u.Is_Include_Time ? _startDateWithZeroTime : _startDateWithTime
let _end_date = u.End_Date
let _endDate = _end_date.Day
let _endmonth = _end_date.Month
let _endyear = _end_date.Year
let _endhour = u.End_Time.Value.Hours
let _endminutes = u.End_Time.Value.Minutes
let _endseconds = u.End_Time.Value.Seconds
let _endDateWithTime = EntityFunctions.CreateDateTime(_endyear, _endmonth, _endDate, _endhour, _endminutes, _endseconds)
let _endDateWithZeroTime = EntityFunctions.CreateDateTime(_endyear, _endmonth, _endDate, 0, 0, 0)
let _end_datetime = u.Is_Include_Time ? _endDateWithZeroTime : _endDateWithTime
let _cur_Start_date = u.Is_Include_Time ? _userStartDate : _gMTStartDate
let _cur_End_date = u.Is_Include_Time ? _userEndDate : _gMTEndDate
where u.User_Id == 1 && !u.Is_Deleted
&& _start_datetime >= _cur_Start_date && _end_datetime <= _cur_End_date
select new
{
u.User_id,
u.User_Name,
u.Login_Name,
u.Email_Address
};
Đây _userStartDate, _userEndDate, _gMTStartDate và _gMTEndDate là các thông số từ chức năng của tôi.
Nếu cột "Is_Include_Time" là đúng, thì tôi cũng phải bao gồm TimeSpan từ bảng. Nhưng đối với năm nhuận nó ném lỗi.
Mọi đề xuất?
của nó sẽ không làm việc trong trường hợp của tôi, bởi vì tôi cần phải so sánh cùng với ngày và thời gian trong kho dữ liệu. Bất kỳ lựa chọn thay thế nào khác? – Prasad