public static Dictionary <IProperty, object> GetDatabaseValues(this InternalEntityEntry internalEntry, DbContext context) { if (internalEntry.EntityType.ClrType == typeof(Driver)) { var id = (int)internalEntry.GetPrimaryKeyValue().Value; return(context.Set <Driver>() .Where(d => d.Id == id) .Select(d => d.GetValues(internalEntry.EntityType)) .SingleOrDefault()); } if (internalEntry.EntityType.ClrType == typeof(Engine)) { var id = (int)internalEntry.GetPrimaryKeyValue().Value; return(context.Set <Engine>() .Where(d => d.Id == id) .Select(d => d.GetValues(internalEntry.EntityType)) .SingleOrDefault()); } return(null); }
internal void Update(InternalEntityEntry entry) { _rows.ExchangeValue(rs => rs.SetItem(entry.GetPrimaryKeyValue(), entry.GetValueBuffer())); }
internal void Delete(InternalEntityEntry entry) { _rows.ExchangeValue(rs => rs.Remove(entry.GetPrimaryKeyValue())); }
internal void Create(InternalEntityEntry entry) { _rows.ExchangeValue(rs => rs.Add(entry.GetPrimaryKeyValue(), entry.GetValueBuffer())); }