Wartość public Nullable<System.DateTime> RegistrationDateExpiry { get; set; } nie zapisuje się w bazie, natomiast cała reszta pół jest zapisywana, wykomentowane linijki to są sposoby na jakie już próbowałem.
Zmienna aircraftRegistration zawiera wszystkie wartości tak jak powinna.
public void Update(AircraftRegistrationDto entity)
{
//Deactivate any other
if (entity.IsActive)
{
var existingRegistrations = _camsDbContext.AircraftRegistrations.Where(
ar => ar.AircraftId == entity.AircraftId &&
ar.AircraftRegistrationId != entity.AircraftRegistrationId &&
ar.IsActive &&
ar.IsDeleted != true);
foreach (var existingRegistration in existingRegistrations)
{
existingRegistration.IsActive = false;
}
}
var aircraftRegistration = Mapper.Map<AircraftRegistration>(entity);
aircraftRegistration.UpdatedByUserId = _userId;
aircraftRegistration.UTCDateUpdated = DateTime.UtcNow;
_camsDbContext.AircraftRegistrations.AddOrUpdate(aircraftRegistration);
//_camsDbContext.Entry(aircraftRegistration).State = System.Data.Entity.EntityState.Modified;
//_camsDbContext.AircraftRegistrations.AddOrUpdate(a => a.AircraftRegistrationId, aircraftRegistration);
//_camsDbContext.Set<AircraftRegistration>().AddOrUpdate(a => a.AircraftRegistrationId, aircraftRegistration);
_camsDbContext.SaveChanges();
}
Entity :
public partial class AircraftRegistration
{
public int AircraftRegistrationId { get; set; }
public int AircraftId { get; set; }
public string RegistrationNumber { get; set; }
public System.DateTime RegistrationDate { get; set; }
public Nullable<System.DateTime> RegistrationDateExpiry { get; set; }
public int CountryId { get; set; }
public int AviationAuthorityId { get; set; }
public bool IsActive { get; set; }
public System.DateTime UTCDateAdded { get; set; }
public string AddedByUserId { get; set; }
public Nullable<System.DateTime> UTCDateUpdated { get; set; }
public string UpdatedByUserId { get; set; }
public bool IsDeleted { get; set; }
public virtual Aircraft Aircraft { get; set; }
public virtual AviationAuthority AviationAuthority { get; set; }
public virtual Country Country { get; set; }
public virtual User User { get; set; }
public virtual User User1 { get; set; }
}
CamsDbContext:
public partial class CamsDbContext : DbContext
{
public CamsDbContext()
: base("name=CamsDbContext")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<AircraftRegistration> AircraftRegistrations { get; set; }
}