/// <summary> /// Determines whether the specified sqlite file is valid. /// </summary> /// <param name="path">The path.</param> /// <param name="provider">The provider.</param> /// <returns></returns> private static bool IsValidSqliteFile(string path, out SqliteStorageProvider provider) { provider = new SqliteStorageProvider(path); if (provider.IsValid( )) { return(true); } provider.Dispose( ); provider = null; return(false); }
/// <summary> /// Creates the data target. /// </summary> /// <param name="format">The format.</param> /// <param name="path">The path.</param> /// <param name="versionOverride">The version override.</param> /// <returns></returns> /// <exception cref="System.InvalidOperationException">Invalid storage format specified.</exception> internal static IDataTarget CreateDataTarget(Format format, string path, string versionOverride = null) { if (format == Format.Undefined) { format = DefaultFormat; } IDataTarget target; switch (format) { case Format.Sqlite: target = new SqLiteTarget { StorageProvider = SqliteStorageProvider.CreateNewDatabase(path) }; break; case Format.Xml: case Format.XmlVer2: XmlWriterSettings settings = EntityXmlExporter.GetXmlWriterSettings( ); ///// // Create target to write to Xml file ///// XmlWriter writer = XmlWriter.Create(path, settings); target = new XmlPackageTarget { XmlWriter = writer, NameResolver = new UpgradeMapNameResolver( ), VersionOverride = versionOverride, Format = format }; break; default: throw new InvalidOperationException("Invalid storage format specified."); } return(target); }