У меня есть таблица, которая имеет поле, которое не равно нулю и имеет значение по умолчанию, определеннойИспользование щеголеватый для вставки в таблицу с Значения по умолчанию
[CreatedOn] not null default(getdate())
свойство я использую в модели для щеголеватый является обнуляемый DateTime
public DateTime? CreatedOn { get; set; }
Если я пытаюсь вставить, исключение выбрасываются за попытку вставить нулевое значение в не нулевом поле.
cm.Insert<MyObject>(obj); //Throws because CreatedOn == null
Что я ищу по умолчанию должен быть установлен в базе данных, и по-прежнему быть в состоянии видеть, что значение, когда я прочитал объекты. Поскольку Dapper передает значение как null, база данных выдает ошибку. Если я игнорирую свойство, я теряю способность его читать. Я надеюсь на игнорирование одного из способов или флаг, чтобы позволить dapper знать, что будет установлен по умолчанию. Как сделать эту работу?
Что я ищу это по умолчанию должен быть установлен в базе данных, и по-прежнему быть в состоянии видеть это значение, когда я читаю объекты. Поскольку Dapper передает значение как null, база данных выдает ошибку. Если я игнорирую свойство, я теряю способность его читать. Я надеюсь на игнорирование одного из способов или флаг, чтобы позволить dapper знать, что будет установлен по умолчанию. – QueueHammer
Ahhh, вы можете использовать следующие атрибуты над CreatedOn - [Dapper.IgnoreUpdate, Dapper.IgnoreInsert]. Я редактировал приведенный выше пример, чтобы показать, как этот атрибут вписывается. Это предотвратит использование DapperSimpleCrud их при вставках или обновлениях. – Zabbu
В каком пространстве имен находятся эти атрибуты? Dapper.Contrib имеет атрибут Write, который принимает значение false, но доза не мешает записи. – QueueHammer