コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Press any key to start");
            Console.ReadKey();

            SyncDataStore SyncDataStore = new SyncDataStore("ConsoleApp", true, "http://localhost/BIT.Xpo.Sync.ServerNew/api/Sync", null);


            string localDatabaseConnectionString = AccessConnectionProvider.GetConnectionString("LocalDatabase.mdb");
            string logDatabaseConnectionString   = AccessConnectionProvider.GetConnectionString("LogDatabase.mdb");



            SyncDataStore.Initialize(
                localDatabaseConnectionString,
                logDatabaseConnectionString, false, AutoCreateOption.DatabaseAndSchema
                , new Assembly[] { typeof(Demo.ORM.CustomBaseObject).Assembly });


            Console.WriteLine("Pulling data from the api");
            var Transactions = SyncDataStore.PullModificationsFromApi();

            Console.WriteLine($"{Transactions} transactions pulled from the API");
            XpoDefault.DataLayer = new SimpleDataLayer(SyncDataStore);

            Console.WriteLine("Creating customers");
            DemoData();
            Console.WriteLine("Pushing data from the api");
            SyncDataStore.PushModificationsToApi();
            Console.WriteLine("Done!!");
            Console.ReadKey();
        }
コード例 #2
0
        public void ProceduresIsNotEmpty()
        {
            var provider = new AccessConnectionProvider();

            provider.SetConnectionString(_helper.ConnectionString);
            Assert.AreNotEqual(0, new AccessSchemaProvider(provider).GetStoredProcedures().Count());
        }
        public static void InitDAL()
        {
            string cstr = AccessConnectionProvider.GetConnectionString("database.mdb");

            XpoDefault.DataLayer = XpoDefault.GetDataLayer(cstr, AutoCreateOption.DatabaseAndSchema);
            DevExpress.Xpo.XpoDefault.Session = null;
        }
コード例 #4
0
 /*
  * Creates a new DAL with the specified settings and initializes the XpoDefault.DataLayer property.
  * As a result, all the units of work (or sessions) will by default access the "Product" database
  * using the specified path.
  */
 private void InitDAL()
 {
     XpoDefault.DataLayer = XpoDefault.GetDataLayer(
         AccessConnectionProvider.GetConnectionString(@"c:\database\product.mdb"),
         AutoCreateOption.DatabaseAndSchema
         );
 }
コード例 #5
0
        public string GetConnectionString(string key)
        {
            if (key == StrDefault)
            {
                return(_connectionString);
            }
            if (key.StartsWith(DataStoreBase.XpoProviderTypeParameterName))
            {
                return(key);
            }
            ConnectionStringSettings connectionStringSettings =
                ConfigurationManager.ConnectionStrings[string.Format("{0}ConnectionString", key)];

            if (connectionStringSettings != null)
            {
                return(connectionStringSettings.ConnectionString);
            }
            IDataStore connectionProvider = XpoDefault.GetConnectionProvider(_connectionString, AutoCreateOption.DatabaseAndSchema);
            var        sql = connectionProvider as ConnectionProviderSql;

            if (sql != null)
            {
                IDbConnection dbConnection = sql.Connection;
                return(_connectionString == null?AccessConnectionProvider.GetConnectionString(key)
                           : _connectionString.Replace(dbConnection.Database, String.Format("{0}{1}.mdb", dbConnection.Database, key)));
            }
            throw new NoNullAllowedException(string.Format("{0}ConnectionString not found ", key));
        }
コード例 #6
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     XpoDefault.DataLayer = XpoDefault.GetDataLayer(AccessConnectionProvider.GetConnectionString(@"..\..\Q296004.mdb"),
                                                    AutoCreateOption.DatabaseAndSchema);
     Application.Run(new Form1());
 }
コード例 #7
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     SkinManager.EnableFormSkins();
     XpoDefault.ConnectionString = AccessConnectionProvider.GetConnectionString(@"..\..\nwind.mdb");
     Application.Run(new MainForm());
 }
        public Form1()
        {
            XpoDefault.ConnectionString = AccessConnectionProvider.GetConnectionString(@"..\..\nwind.mdb");
            InitializeComponent();
            XPVirtualTreeListDataBase data = new XPVirtualTreeListDataBase(session1);

            data.SetChildren(new XPCollection(session1, typeof(Categories)));
            treeList1.DataSource = data;
        }
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                AccessConnectionProvider.GetConnectionString("SchedulerXPOWpf.mdb"),
                //MSSqlConnectionProvider.GetConnectionString(".\\SQLExpress", "SchedulerXPOWpf"),
                AutoCreateOption.DatabaseAndSchema);
        }
        protected void Application_Start(object sender, EventArgs e)
        {
            string       conn = AccessConnectionProvider.GetConnectionString(Server.MapPath(@"~\App_Data\nwind.mdb"));
            XPDictionary dict = new ReflectionDictionary();

            dict.GetDataStoreSchema(typeof(Category));
            XpoDefault.Session = null;
            IDataStore prov = XpoDefault.GetConnectionProvider(conn, AutoCreateOption.SchemaAlreadyExists);

            XpoDefault.DataLayer = new ThreadSafeDataLayer(dict, prov);
        }
    private static IDataLayer GetDataLayer()
    {
        XpoDefault.Session = null;

        string       conn  = AccessConnectionProvider.GetConnectionString(@"|DataDirectory|\db.mdb");
        XPDictionary dict  = new DevExpress.Xpo.Metadata.ReflectionDictionary();
        IDataStore   store = XpoDefault.GetConnectionProvider(conn, AutoCreateOption.SchemaAlreadyExists);

        dict.GetDataStoreSchema(typeof(Order).Assembly);  // <<< initialize the XPO dictionary
        IDataLayer dl = new ThreadSafeDataLayer(dict, store);

        return(dl);
    }
        static void Main()
        {
            string connectionString = AccessConnectionProvider.GetConnectionString("MyDB.mdb");

            XpoDefault.DataLayer = XpoDefault.GetDataLayer(connectionString, AutoCreateOption.DatabaseAndSchema);
            XpoDefault.Session   = null;

            CreateData();

            SkinManager.EnableFormSkins();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
コード例 #13
0
        static void Main(string[] args)
        {
            //Hack lets setup the data layer
            //Hack vamos a configurar el data layer
            var ConnectionString = AccessConnectionProvider.GetConnectionString("MyDatabase.mdb");

            XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, AutoCreateOption.DatabaseAndSchema);

            //HACK our first XPO Object Instance
            //HACK nuestra primera instancia de un objeto XPO

            Customer Customer = new Customer(XpoDefault.Session);

            Customer.Name = "Jose Manuel Ojeda Melgar";
            Customer.Save();
        }
コード例 #14
0
        void InitDataLayers()
        {
            string metadataFileName = "Metadata.xml";
            string dataFileName     = "Data.mdb";

            if (File.Exists(metadataFileName))
            {
                File.Delete(metadataFileName);
            }
            if (File.Exists(dataFileName))
            {
                File.Delete(dataFileName);
            }

            metadataStorage = XpoDefault.GetDataLayer(InMemoryDataStore.GetConnectionString(metadataFileName), AutoCreateOption.DatabaseAndSchema);
            dataStorage     = XpoDefault.GetDataLayer(AccessConnectionProvider.GetConnectionString(dataFileName), AutoCreateOption.DatabaseAndSchema);
        }
コード例 #15
0
        public Form1()
        {
            XpoDefault.ConnectionString = AccessConnectionProvider.GetConnectionString(@"..\..\nwind.mdb");

            // Uncomment this code to create new database

            //using (UnitOfWork uow = new UnitOfWork()) {
            //    uow.ClearDatabase();
            //    Employees employee = new Employees(uow);
            //    employee.FirstName = "Thomas";
            //    employee.Save();
            //    uow.CommitChanges();
            //    for (int i = 0; i < 10; i++) {
            //        for (int j = 0; j < 10000; j++) {
            //            Orders order = new Orders(uow);
            //            order.ShipCity = "City";
            //            order.EmployeeID = employee;
            //        }
            //        uow.CommitChanges();
            //        Console.WriteLine(string.Format("{0} objects already created", i * 10000));
            //    }
            //}
            InitializeComponent();
        }
コード例 #16
0
        /// <summary>
        /// 尝试根据配置文件中在appSettings节下指定的设置构造数据库连接字符串。
        /// 若失败则尝试获取connectionStrings节下指定的第一个连接字符串。
        /// </summary>
        /// <returns>构造或获取到的数据库连接字符串</returns>
        public static string GetConnectionString()
        {
            try
            {
                AppSettingsReader config = new AppSettingsReader();
                string            serverType, server, database, user, password;
                serverType = ((string)(config.GetValue("ServerType", typeof(string))));
                server     = ((string)(config.GetValue("Server", typeof(string))));
                database   = ((string)(config.GetValue("Database", typeof(string))));
                user       = ((string)(config.GetValue("User", typeof(string))));
                password   = ((string)(config.GetValue("Password", typeof(string))));

                switch (serverType.ToUpper())
                {
                case "ACCESS":
                    return(AccessConnectionProvider.GetConnectionString(database, user, password));

                case "MSSQL":
                    return(MSSqlConnectionProvider.GetConnectionString(server, user, password, database));

                case "MYSQL":
                    return(MySqlConnectionProvider.GetConnectionString(server, user, password, database));

                case "ORACLE":
                    return(OracleConnectionProvider.GetConnectionString(server, user, password));

                // ... generate connection strings for other providers, e.g. Firebird, etc.
                default:
                    return(ConfigurationManager.ConnectionStrings[0].ToString());
                }
            }
            catch
            {
                return(ConfigurationManager.ConnectionStrings[0].ToString());
            }
        }
コード例 #17
0
        /// <summary>
        /// Creates the unit of work for package data.
        /// </summary>
        /// <returns>Unit of work</returns>
        private UnitOfWork createUnitOfWork()
        {
            tempFileName = Path.GetTempFileName();
            if (PackageData != null)
            {
                File.WriteAllBytes(tempFileName, PackageData);
            }
            else if (File.Exists(tempFileName))
            {
                File.Delete(tempFileName);
            }

            var connStr = AccessConnectionProvider.GetConnectionString(tempFileName);

            // create unit of work based on temporary ms access database
            IDisposable[] disposables;
            var           dataStore = XpoDefault.GetConnectionProvider(connStr, AutoCreateOption.DatabaseAndSchema,
                                                                       out disposables);
            var dataLayer = new SimpleDataLayer(XafTypesInfo.XpoTypeInfoSource.XPDictionary, dataStore);
            var result    = new UnitOfWork(dataLayer, disposables);

            string errorText;

            if (!verifyMarker(result, out errorText))
            {
                result.RollbackTransaction();
                result.Dispose();
                throw new InvalidPackageDataException(errorText);
            }
            // mark object changed
            if (PackageData == null)
            {
                OnChanged();
            }
            return(result);
        }
コード例 #18
0
 public string GetConnection()
 {
     return(AccessConnectionProvider.GetConnectionString(@"C:\MedSim\Data.mdb", "admin", ""));
 }
コード例 #19
0
        static UnitOfWork CreateSessionByName(string name)
        {
            string connectionString = AccessConnectionProvider.GetConnectionString(name);

            return(CreateSession(connectionString));
        }
 private void InitializeDataLayer()
 {
     XpoDefault.ConnectionString = AccessConnectionProvider.GetConnectionString(@"..\..\nwind.mdb");
 }
コード例 #21
0
        /// <summary>
        /// Подключение к БД.
        /// </summary>
        private void Connect()
        {
            switch (DataBaseType)
            {
            case SQLType.Access:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        AccessConnectionProvider.GetConnectionString(DataBase, User, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        AccessConnectionProvider.GetConnectionString(DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.Access2007:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        AccessConnectionProvider.GetConnectionStringACE(DataBase, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        AccessConnectionProvider.GetConnectionStringACE(DataBase, ""),
                        AutoCreateOption);
                }
                break;

            case SQLType.MSSql:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        MSSqlConnectionProvider.GetConnectionString(Server, User, Password, DataBase),
                        AutoCreateOption);

                    //string connctionString = string.Format(@"Data Source={0};Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=qwe+ASDFG", Server);
                    //XpoDefault.DataLayer = XpoDefault.GetDataLayer(connctionString, AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        MSSqlConnectionProvider.GetConnectionString(Server, DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.MSSqlCE:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        MSSqlCEConnectionProvider.GetConnectionString(DataBase, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        MSSqlCEConnectionProvider.GetConnectionString(DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.MySQL:
                XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                    MySqlConnectionProvider.GetConnectionString(Server, "", "", DataBase),
                    AutoCreateOption);
                break;

            case SQLType.Oracle:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        OracleConnectionProvider.GetConnectionString(Server, User, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        OracleConnectionProvider.GetConnectionString(Server, "", ""),
                        AutoCreateOption);
                }
                break;

            case SQLType.Firebird:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        FirebirdConnectionProvider.GetConnectionString(Server, User, Password, DataBase),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        FirebirdConnectionProvider.GetConnectionString(Server, "", "", DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.PostgreSql:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        PostgreSqlConnectionProvider.GetConnectionString(Server, User, Password, DataBase),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        PostgreSqlConnectionProvider.GetConnectionString(Server, "", "", DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.SQLite:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        SQLiteConnectionProvider.GetConnectionString(DataBase, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        SQLiteConnectionProvider.GetConnectionString(DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.VistaDB:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        VistaDBConnectionProvider.GetConnectionString(DataBase, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        VistaDBConnectionProvider.GetConnectionString(DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.PervasiveSql:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        PervasiveSqlConnectionProvider.GetConnectionString(Server, User, Password, DataBase),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        PervasiveSqlConnectionProvider.GetConnectionString(Server, "", "", DataBase),
                        AutoCreateOption);
                }
                break;

            case SQLType.DB2:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        DB2ConnectionProvider.GetConnectionString(Server, DataBase, User, Password),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        DB2ConnectionProvider.GetConnectionString(Server, DataBase, "", ""),
                        AutoCreateOption);
                }
                break;

            case SQLType.NexusDB:
                if (PasswordNeed)
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        NexusDBConnectionProvider.GetConnectionString(Server, User, Password, DataBase),
                        AutoCreateOption);
                }
                else
                {
                    XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                        NexusDBConnectionProvider.GetConnectionString(Server, "", "", DataBase),
                        AutoCreateOption);
                }
                break;

            default:
                XpoDefault.DataLayer = XpoDefault.GetDataLayer(
                    AccessConnectionProvider.GetConnectionString(DataBase),
                    AutoCreateOption.DatabaseAndSchema);
                break;
            }
        }
コード例 #22
0
        public string GetConnectionString(string key)
        {
            if (key == DefaultDictionaryKey)
            {
                return(_connectionString);
            }
            if (key.StartsWith(DataStoreBase.XpoProviderTypeParameterName))
            {
                return(key);
            }
            ConnectionStringSettings connectionStringSettings =
                ConfigurationManager.ConnectionStrings[$"{key}ConnectionString"];

            if (connectionStringSettings != null)
            {
                return(connectionStringSettings.ConnectionString);
            }
            IDataStore connectionProvider = XpoDefault.GetConnectionProvider(_connectionString, AutoCreateOption.DatabaseAndSchema);
            var        sql = connectionProvider as ConnectionProviderSql;

            if (sql != null)
            {
                IDbConnection dbConnection = sql.Connection;
                return(_connectionString?.Replace(dbConnection.Database, $"{dbConnection.Database}{key}.mdb") ?? AccessConnectionProvider.GetConnectionString(key));
            }
            throw new NoNullAllowedException($"{key}ConnectionString not found ");
        }
 static void Main()
 {
     XpoDefault.ConnectionString = AccessConnectionProvider.GetConnectionString(@"..\..\data.mdb");
     Application.EnableVisualStyles();
     Application.Run(new Form1());
 }
コード例 #24
0
        public void AccessDoesNotSupportCompoundStatements()
        {
            IConnectionProvider target = new AccessConnectionProvider();

            Assert.IsFalse(target.SupportsCompoundStatements);
        }
コード例 #25
0
        public void AccessSupportsStoredProcedures()
        {
            IConnectionProvider target = new AccessConnectionProvider();

            Assert.IsTrue(target.SupportsStoredProcedures);
        }