EF code first обновления "nullable" поле
У меня есть две связанные таблицы:
public class InspectionItems
{
[Key]
public int InspectionItemID { get; set; }
.........
[StringLength(10)]
public string QualiteGradeID { get; set; }
[ForeignKey("QualiteGradeID")]
public virtual QualityGrades QualityGrades { get; set; }
}
public partial class QualityGrades
{
[Key]
[StringLength(10)]
public string QualiteGradeID { get; set; }
[Required]
[StringLength(100)]
public string Title { get; set; }
}
InspectionItems inspectionItem = _unitOfWork.InspectionItems.All().FirstOrDefault(it => it.InspectionItemID == item.Id);
if (inspectionItem != null)
{
inspectionItem.QualiteGradeID = "RR";
_unitOfWork.InspectionItems.Update(inspectionItem);
_unitOfWork.Commit();
}
public override void Update(T entity)
{
if (entity == null)
{
throw new ArgumentException("Cannot update a null entity.");
}
_dbSet.Local.Clear();
_dbSet.Attach(entity);
_dbContext.Entry(entity).State = EntityState.Modified;
}
Мне нужно обновить поле QualiteGradeID таблицы InspectionItems, проблема заключается в том, что в базе данных это поле может имеет тип NULL, и когда я пытаюсь его обновить, у меня генерируется SQL:
UPDATE [dbo].[InspectionItems]
SET [QualiteGradeID] = NULL
WHERE ([InspectionItemID] = @1)
Делаю эксперимент: запрещаю NULL значения в поле QualiteGradeID(таблицы InspectionItems) - и все начинает работать. Может, кто-то сталкивался с подобным поведением, буду очень признателен за помощь.