Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }