예제 #1
0
 /// <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));
     }
 }
예제 #2
0
 /// <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));
     }
 }
예제 #3
0
 private bool IsSpatialiteColumn(AddColumnOperation operation, IModel model)
 => SqliteTypeMappingSource.IsSpatialiteType(
     operation.ColumnType
     ?? GetColumnType(
         operation.Schema,
         operation.Table,
         operation.Name,
         operation,
         model));
예제 #4
0
 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));
예제 #5
0
        public override IModelValidator CreateModelValidator()
        {
            var typeMappingSource = new SqliteTypeMappingSource(
                TestServiceFactory.Instance.Create <TypeMappingSourceDependencies>(),
                TestServiceFactory.Instance.Create <RelationalTypeMappingSourceDependencies>());

            return(new SqliteModelValidator(
                       new ModelValidatorDependencies(
                           typeMappingSource,
                           new MemberClassifier(
                               typeMappingSource,
                               TestServiceFactory.Instance.Create <IParameterBindingFactories>())),
                       new RelationalModelValidatorDependencies(typeMappingSource)));
        }