/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public override IEnumerable <IAnnotation> For(IModel model) { if (model.GetEntityTypes().SelectMany(t => t.GetProperties()).Any( p => SqliteTypeMappingSource.IsSpatialiteType(p.GetColumnType()))) { yield return(new Annotation(SqliteAnnotationNames.InitSpatialMetaData, true)); } }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public override IEnumerable <IAnnotation> For(IRelationalModel model, bool designTime) { if (model.Tables.SelectMany(t => t.Columns).Any( c => SqliteTypeMappingSource.IsSpatialiteType(c.StoreType))) { yield return(new Annotation(SqliteAnnotationNames.InitSpatialMetaData, true)); } }
private bool IsSpatialiteColumn(AddColumnOperation operation, IModel model) => SqliteTypeMappingSource.IsSpatialiteType( operation.ColumnType ?? GetColumnType( operation.Schema, operation.Table, operation.Name, operation, model));
private bool IsSpatialiteColumn(AddColumnOperation operation, IModel model) => SqliteTypeMappingSource.IsSpatialiteType( operation.ColumnType ?? GetColumnType( operation.Schema, operation.Table, operation.Name, operation.ClrType, operation.IsUnicode, operation.MaxLength, operation.IsFixedLength, operation.IsRowVersion, model));