Использую в проекте на C# NHibernate. БД на MS Access. У меня почему-то возникает проблема с сохранением значений типа DateTime.
Класс сущности:
public class Delivery
{
public virtual int Id { get; set; }
public virtual DateTime? StartDate { get; set; }
...
}
Присвоение значения времени (например):
exitDelivery.StartDate = new DateTime(2017,12,2);
Сохранение:
using (var session = NHibernateHelper.OpenSession(Common.DBpath))
{
foreach (var item in deliveries)
{
if (item.Id == 0)
{
session.Save(item);
session.Evict(item);
}
else session.Update(item);
}
session.Flush();
}
Причем, само значение времени прекрасно сохраняется в БД, но последняя строка кода вызывает ошибку "Строка не распознана как действительное значение DateTime. Если значение времени установить null, сохранение происходит без проблем. Если убрать nullable у свойства класса, то сохранение также происходит нормально.
Как обойти проблему?
Updated: похоже, что проблема кроется в установке свойству StartDate значения null, но почему-то именно последнему элементу коллекции типа Delivery. Т.е. если у какого элемента коллекции стояла значимая дата и я её меняю на null, то всё в порядке. Но если этот элемент последний, то выскакивает указанная ранее ошибка.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости