Я делаю простое обновление (использую EF Core 3.1.2 с SQL backend) и не смог узнать, почему одно поле не может быть отправлено в БД.
У меня есть вызов обновления, где я вижу значение DateModified, которое я хочу отправить:
Однако, используя SQL Профилировщик, я вижу, что это то, что на самом деле отправляется, и поле DateModified НЕ отправляется SQL вообще:
Здесь объект пытается отправить:
public class AVO : BasePropertiesWithID
{
//[Authorize(Policy = "AllEmployees")]
[ForeignKey("DivisionID")]
public int DivisionID { get; set; }
[Required]
public int AccountNumber { get; set; }
[Required]
public string CustomerName { get; set; }
[Required]
public string Comments { get; set; }
public bool IsActive { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
[UseFiltering]
[UseSorting]
public virtual Division Division { get; set; }
}
А вот базовый класс, который содержит поле DateModified (не отправляется) и поле DateInserted, которое отправляется:
public class BasePropertiesWithID
{
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Required]
[Column(Order = 9990)]
[DefaultValue("autoProcess")]
public string InsertedBy { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
[Required]
[Column(Order = 9991)]
public DateTime DateInserted { get; set; }
[Required]
[Column(Order = 9992)]
[DefaultValue("autoProcess")]
public string ModifiedBy { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
[Required]
[Column(Order = 9993)]
public DateTime DateModified { get; set; }
}
Я использовал этот базовый класс в течение долгого времени без проблем, и ни одна версия EF никогда не испытывала этого. У меня не получилось выполнить поиск информации, и хотя я обнаружил, что Почему EF Core Update не может обновить измененный столбец , это не помогло мне.
Почему поле не может быть отправлено? Кто-нибудь может предложить ПОЧЕМУ или как это решить ?? СПАСИБО!
РЕДАКТИРОВАТЬ: Как этот объект добавляется в EF