Q:

Breeze not updating nullable datetime field

I'm setting a nullable datetime field on the server but that field is not being updated in my database. 
        private bool BeforeSaveLeaseEntry(Lease leaseEntry, EntityInfo info)
    {
        if (info. EntityState == EntityState. Added)
        {
            leaseEntry. CreatedDate = DateTime. UtcNow. ToLocalTime();
        }
        if (info. EntityState == EntityState. Modified)
        {
            leaseEntry. LastUpdatedDate = DateTime. UtcNow. ToLocalTime();
        }
        return true;
    }

CreatedDate is not nullable and is updated. 
LastUpdatedDate is nullable and is never updated. 
The code is hit but when I run a tracer on my SQL server that field is never included in the update code. 
exec sp_executesql N'update [dbo].[Leases]
set [ContractNo] = @0
where ([LeaseID] = @1)
',N'@0 varchar(25),@1 int',@0='test6',@1=27415

A:

Sorry about this, in Breeze v 1.1.3 we added a the EntityInfo. ForceUpdate boolean property but it never made it into the main Breeze documentation, it only appeared in the release notes.  
This property may be used to force a server side update of an entire entity when server side modification has been made to any property of an existing entity.  The other approach that may be used is to  explicitly update the EntityInfo. OriginalValuesMap.  
The idea behind both of these is that on an update Breeze only creates an update statement for those se properties that have been changed.   Any client side changes are automatically detected because of Breeze's tracking mechanism which adds an entry into an 'originalValuesMap', but this cannot be done automatically for server side changes because the server side entities are not instrumented to perform notification about property changes.  
The "EntityInfo. ForceUpdate" method forces the generation of an update statement for every property on the entity, whereas directly updating the EntityInfo. OriginalValuesMap will only update those properties found in the map. 