public IConfiguration Discover(EdmProperty property, DbModel model) { Debug.Assert(property != null, "property is null."); Debug.Assert(model != null, "model is null."); var columnProperty = model.GetColumn(property); if (property.IsKey() && _identityKeyTypes.Contains(property.PrimitiveType.PrimitiveTypeKind)) { if (columnProperty.IsStoreGeneratedIdentity) { // By convention return null; } } else if (columnProperty.IsTimestamp()) { // By convention return null; } else if (columnProperty.StoreGeneratedPattern == StoreGeneratedPattern.None) { // Doesn't apply return null; } return new DatabaseGeneratedConfiguration { StoreGeneratedPattern = columnProperty.StoreGeneratedPattern }; }
public override IConfiguration Discover(EdmProperty property, DbModel model) { Debug.Assert(property != null, "property is null."); Debug.Assert(model != null, "model is null."); if (!_lengthTypes.Contains(property.PrimitiveType.PrimitiveTypeKind)) { // Doesn't apply return null; } if (property.IsMaxLength || !property.MaxLength.HasValue || (property.MaxLength.Value == 128 && property.IsKey())) { // By convention return null; } var configuration = property.PrimitiveType.PrimitiveTypeKind == PrimitiveTypeKind.String ? new MaxLengthStringConfiguration() : new MaxLengthConfiguration(); configuration.MaxLength = property.MaxLength.Value; return configuration; }
public IConfiguration Discover(EdmProperty property, DbModel model) { Debug.Assert(property != null, "property is null."); Debug.Assert(model != null, "model is null."); if (property.Nullable || property.PrimitiveType.ClrEquivalentType.IsValueType || property.IsKey() || model.GetColumn(property).IsTimestamp()) { // By convention return null; } return new RequiredConfiguration(); }