Я столкнулся с некоторой ошибкой, например, «Параметры Year, Month и Day» описывают не представимую DateTime ». Но эта проблема возникает, когда я использую другую базу данных, иначе код, который я написал, работает нормально.Невозможно представить DateTime для параметров года, месяца и дня в C#
Для проверки цели я изменил свой ПК Дата-время с ноября по декабрь, чем тот же код в другой базе данных, работающий нормально. Но я не понимаю, как решить эту ошибку. Я прикрепил код ниже, где он сбой.
var vi = session.Query<TJERecurMaster>().ToList();
TJEShedulDetail tp = new TJEShedulDetail();
var RecurMasterList = (from v in vi
join jj in session.Query<TJEShedulDetail>()
on v.FMasterID equals jj.TJERecurMaster.FMasterID into jjv
from jv in jjv.DefaultIfEmpty(tp)
where v.FInactive == false && v.TSCCompany == objCompany && v.TSCProperty == objProp
orderby v.FDescription descending
select new RecurMasterNotification
{
TSCompanyID = CompanyID,
JeRecurDetail = v.TJERecurDetails,
FMasterID = v.FMasterID,
FScheduleID = jv.FScheduleID,
FDescription = v.FDescription,
FPostdate = jv.FLastNotification != null ? jv.FLastNotification : (v.FSetDay != 0 ? new DateTime(DateTime.Now.Year, DateTime.Now.Month, Convert.ToInt32(v.FSetDay)) : DateTime.Now),
FAmount = v.TJERecurDetails.Where(P => P.FTranType == "D").Sum(P => P.FAmount)
- v.TJERecurDetails.Where(P => P.FTranType == "C").Sum(P => P.FAmount),
FLastCreated = jv.FLastNotification,
FNotes = v.FNotes,
FJEType = v.FJEType,
FInactive = v.FInactive,
Frequency = jv.FFrequency,
FDateSelection = jv.FDateSelection,
FNextNotification = jv.FNextNotification,
FLastCreatedString = jv.FLastNotification == jv.FNextNotification ? string.Empty : jv.FLastNotification.ToString(),
}).ToList();
Какое решение проблемы данного типа ошибки?
Whatq - это база данных, версия NHibernate и данные образца для даты/времени, которая бросает исключение? – Tony
sql server 2008R2, версия Nhibernate 3.2.0.4000 и DateTime (2013, 11, 31) –
Как указал Ханс Кестинг, ноябрь имеет 30 дней, а не 31. – Tony