static void Main() { string connectionStringDBPortal = DataHelperBDDatenbankTabelle.Lese_ConnectionString(); //XPDictionary dict1 = new ReflectionDictionary(); //dict1.CollectClassInfos(typeof(Class1), typeof(Class2), ...); //IDataStore prov1 = XpoDefault.GetConnectionProvider(connectionString1, AutoCreateOption.None); //DB100 = new SimpleDataLayer(dict1, prov1); //XPDictionary dict2 = new ReflectionDictionary(); //dict2.CollectClassInfos(typeof(Class3), typeof(Class4), ...); IDataStore prov2 = XpoDefault.GetConnectionProvider(connectionStringDBPortal, AutoCreateOption.None); DBBDDatenbankLibraryCRM = new SimpleDataLayer(prov2); //Session session1 = new Session(DB1); _sBDDatenbankLibraryCRM = new Session(DBBDDatenbankLibraryCRM); //DB100.ConnectionHelper.Connect(AutoCreateOption.None); XpoDefault.DataLayer = DB100.ConnectionHelper.GetDataLayer(AutoCreateOption.None); _sDB100 = Session.DefaultSession; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); DevExpress.Skins.SkinManager.EnableFormSkins(); DevExpress.UserSkins.BonusSkins.Register(); Application.Run(new Form1()); }
private static IDataStore GetConnectionPoolProvider(string connectionName) { string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString; connectionString = XpoDefault.GetConnectionPoolString(connectionString); return(XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.SchemaAlreadyExists)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); string connectionString; AutoCreateOption autoCreateOption = AutoCreateOption.SchemaAlreadyExists; if (HostingEnvironment.IsDevelopment()) { connectionString = Configuration.GetConnectionString("Dev"); autoCreateOption = AutoCreateOption.DatabaseAndSchema; } else { connectionString = Configuration.GetConnectionString("Prod"); connectionString = XpoDefault.GetConnectionPoolString(connectionString); } IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); services.AddSingleton(new WebApiDataStoreService(dataStore)); // add XML Serializer formatters services.AddMvc() .AddXmlSerializerFormatters(); }
public static IDataLayer GetDataLayer() { XpoDefault.Session = null; var uow = XpoHelper.GetNewUnitOfWork(); var sqlConnection = uow.FindObject <SQLConnection>(CriteriaOperator.Parse("Oid==?", 1)); //string conn = MySqlConnectionProvider.GetConnectionString("localhost", "root", "", "CUFE"); string sqlConnectionString = MSSqlConnectionProvider.GetConnectionString(sqlConnection.IP, sqlConnection.user, sqlConnection.password, sqlConnection.Datenbank); //string conn = System.Configuration.ConfigurationManager.ConnectionStrings[sqlConnectionString].ConnectionString; XPDictionary dict = new ReflectionDictionary(); IDataStore store = XpoDefault.GetConnectionProvider(sqlConnectionString, AutoCreateOption.None); //DevExpress.Xpo.Metadata.ReflectionClassInfo.SuppressSuspiciousMemberInheritanceCheck = true; //dict.GetDataStoreSchema(typeof(Inscripcion).Assembly); //IDataLayer dl = new ThreadSafeDataLayer(dict, store); ////using (UnitOfWork uow = new UnitOfWork(dl)) ////{ //// int cnt = (int)uow.Evaluate<CUFE.Models.Country>(CriteriaOperator.Parse("count"), null); //// if (cnt == 0) //// { //// new CUFE.Models.Country(uow) { CountryName = "Germany" }; //// uow.CommitChanges(); //// } ////} //return dl; return(XpoDefault.GetDataLayer(sqlConnectionString, AutoCreateOption.SchemaAlreadyExists)); }
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")); } throw new NoNullAllowedException($"{key}ConnectionString not found "); }
public static async Task ExecAsync(Func <UnitOfWork, Task> action) { XpoDefault.Session = null; if (DATA_LAYER == null) { var sqlHelper = new SqlServerTestDbHelper("Xpo"); sqlHelper.ResetDatabase(); var dict = new ReflectionDictionary(); dict.GetDataStoreSchema( typeof(DefaultSort.DataItem), typeof(RemoteGroupingStress.DataItem), typeof(Summary.DataItem), typeof(Bug339.DataItem), typeof(PaginateViaPrimaryKey.DataItem), typeof(Async.DataItem) ); var provider = XpoDefault.GetConnectionProvider( sqlHelper.ConnectionString, AutoCreateOption.SchemaOnly ); DATA_LAYER = new SimpleDataLayer(dict, provider); } using (var uow = new UnitOfWork(DATA_LAYER)) { await action(uow); } }
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)); }
/// <summary> /// Opens the second storage. /// </summary> private void openSecondStorage() { if (!string.IsNullOrEmpty(secondStorageConnStr) && (secondStorageDataStore == null || secondStorageDataStore == appDataStore)) { try { secondStorageDataStore = XpoDefault.GetConnectionProvider(secondStorageConnStr, AutoCreateOption.DatabaseAndSchema); secondStorageDataLayer = new SimpleDataLayer(secondStorageDictionary, secondStorageDataStore); } catch (Exception exception) { var args = new GetPlatformArgs(); XafDeltaModule.Instance.OnGetPlatform(args); if (args.XafDeltaPlatform != null) { args.XafDeltaPlatform.OnShowError(new ErrorEventArgs(exception)); } secondStorageDataStore = appDataStore; secondStorageDataLayer = appDataLayer; } foreach (var packageUpdate in delayedPackageUpdates) { secondStorageDataStore.UpdateSchema(false, packageUpdate.ToArray()); } delayedPackageUpdates.Clear(); } return; }
/// <summary> /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). /// </summary> public App() { ConfigureFilters(Uno.Extensions.LogExtensionPoint.AmbientLoggerFactory); RestApiAgnosticDataStoreImp.Register(); string connectionString = "XpoProvider=RestApiAgnosticDataStoreImp;EndPoint=http://192.168.1.64/XpoServer/api/DataStoreAgnosticMultiDb;Token=Empty;DataStoreId=ConnectionString"; var DataStore = XpoDefault.GetConnectionProvider(connectionString, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema); var dictionary = new ReflectionDictionary(); dictionary.GetDataStoreSchema(typeof(Item).Assembly); //Updating schema XPO way SimpleDataLayer UpdateSchemaDal = new SimpleDataLayer(dictionary, DataStore); UnitOfWork UpdateSchemaUoW = new UnitOfWork(UpdateSchemaDal); UpdateSchemaUoW.UpdateSchema(); UpdateSchemaUoW.CreateObjectTypeRecords(); //Finish updating schema XpoDefault.DataLayer = new SimpleDataLayer(dictionary, DataStore); this.InitializeComponent(); this.Suspending += OnSuspending; }
private void DropDatabase(string connectionString, string name) { string error = null; string database = name; try { IDataStore provider = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.None); if (provider is MSSqlConnectionProvider) { database = DropSqlServerDatabase(connectionString); } else if (provider is AccessConnectionProvider) { database = ((AccessConnectionProvider)provider).Connection.Database; File.Delete(database); } else { throw new NotImplementedException(provider.GetType().FullName); } } catch (UnableToOpenDatabaseException) { error = "UnableToOpenDatabase " + database; } catch (Exception e) { Trace.WriteLine(e.ToString()); error = database + " Error check log"; } actionHint1.Text = error ?? database + " DataBase Dropped !!!"; Rectangle rectangle = Screen.PrimaryScreen.Bounds; actionHint1.PointTo(new Point(rectangle.Width / 2, rectangle.Height / 2)); }
private static void RegistrarObjectSpace() { string connectionString = ""; if (ConfigurationManager.ConnectionStrings["ConnectionString"] != null) { connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; } IDataStore store = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.SchemaAlreadyExists); XPDictionary dict = new ReflectionDictionary(); dict.GetDataStoreSchema(System.Reflection.Assembly.GetExecutingAssembly()); XpoDefault.DataLayer = new ThreadSafeDataLayer(dict, store); XpoTypesInfoHelper.ForceInitialize(); XpoTypesInfoHelper.GetXpoTypeInfoSource(); XafTypesInfo.Instance.RegisterEntity(typeof(Venta)); XafTypesInfo.Instance.RegisterEntity(typeof(TipoDocumento)); XafTypesInfo.Instance.RegisterEntity(typeof(CobroPendiente)); XafTypesInfo.Instance.RegisterEntity(typeof(ReporteCxcEmpleado)); XafTypesInfo.Instance.RegisterEntity(typeof(CorteDeCaja)); XafTypesInfo.Instance.RegisterEntity(typeof(Empleado)); XafTypesInfo.Instance.RegisterEntity(typeof(Sucursal)); XafTypesInfo.Instance.RegisterEntity(typeof(ReportDataV2)); XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(connectionString, null, true); ObjectsPaceConnection.PropObjectSpace = directProvider.CreateObjectSpace(); ObjectsPaceConnection.Session = ((XPObjectSpace)ObjectsPaceConnection.PropObjectSpace).Session; }
public static void CreateSessions() { // generazione sequenziale dei GUID XpoDefault.GuidGenerationMode = GuidGenerationMode.UuidCreateSequential; //IDataStore store = XpoDefault.GetConnectionProvider("", AutoCreateOption.None); //XpoDefault.DataLayer = new SimpleDataLayer(store); XpoDefault.DataLayer = null; XpoDefault.Session = null; var sex = new Session[2]; IDataStore store1 = XpoDefault.GetConnectionProvider(MSSqlConnectionProvider.GetConnectionString( "192.168.0.20", "sa", "xxx", "MuseiXafRev1locale"), AutoCreateOption.None); IDataStore store2 = XpoDefault.GetConnectionProvider(MSSqlConnectionProvider.GetConnectionString( "192.168.0.30", "sa", "xxx", "MuseiXafRev1locale"), AutoCreateOption.None); sex[0] = new Session(new SimpleDataLayer(store1)); sex[1] = new Session(new SimpleDataLayer(store2)); Sessions = sex; }
static void Main() { ConnectionProviderSql provider = (ConnectionProviderSql)XpoDefault.GetConnectionProvider(SQLiteConnectionProvider.GetConnectionString(@"CustomCommand.sqlite"), AutoCreateOption.DatabaseAndSchema); provider.RegisterCustomFunctionOperator(new GetMonthFunction()); XPDictionary dict = new ReflectionDictionary(); dict.CustomFunctionOperators.Add(new GetMonthFunction()); XpoDefault.DataLayer = new SimpleDataLayer(dict, provider); CreateData(); using (Session session = new Session()) { XPView view = new XPView(session, typeof(Order)); view.AddProperty("Month", "custom('GetMonth', OrderDate)"); foreach (ViewRecord prop in view) { Console.WriteLine(prop["Month"]); } var list = from o in new XPQuery <Order>(session) where o.OrderName == "Chai" select new { Month = GetMonthFunction.GetMonth(o.OrderDate) }; foreach (var item in list) { Console.WriteLine(item.Month); } } Console.WriteLine("done\npress any key to exit .."); Console.ReadKey(); }
public static void Exec(Action <UnitOfWork> action) { lock (LOCK) { XpoDefault.Session = null; if (DATA_LAYER == null) { var sqlHelper = new SqlServerTestDbHelper("Xpo"); sqlHelper.ResetDatabase(); var dict = new ReflectionDictionary(); dict.GetDataStoreSchema( typeof(DefaultSort.DataItem), typeof(RemoteGroupingStress.DataItem), typeof(Summary.DataItem) ); var provider = XpoDefault.GetConnectionProvider( sqlHelper.ConnectionString, AutoCreateOption.SchemaOnly ); DATA_LAYER = new SimpleDataLayer(dict, provider); } using (var uow = new UnitOfWork(DATA_LAYER)) { action(uow); } } }
private IDataLayer ConfigureConnection(params Type[] types) { XpoDefault.Session = null; var store = XpoDefault.GetConnectionProvider(_settings.ConnectionString, _settings.CreateOption, out var objectsToRelase); XPDictionary dictionary = new ReflectionDictionary(); if (types != null) { dictionary.GetDataStoreSchema(types); } IDataLayer dataLayer = new ThreadSafeDataLayer(dictionary, store); // DATABASE MIGRATION CODE if (_settings.CreateOption == AutoCreateOption.SchemaOnly && types != null) { // Prepare database structure using (DevExpress.Xpo.UnitOfWork session = new DevExpress.Xpo.UnitOfWork(dataLayer)) { session.UpdateSchema(types); session.CreateObjectTypeRecords(types); } } return(dataLayer); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); // Configure XPO Data Store Service string connectionString; AutoCreateOption autoCreateOption = AutoCreateOption.SchemaAlreadyExists; if (HostingEnvironment.IsDevelopment()) { connectionString = Configuration.GetConnectionString("Dev"); autoCreateOption = AutoCreateOption.DatabaseAndSchema; } else { connectionString = Configuration.GetConnectionString("Prod"); connectionString = XpoDefault.GetConnectionPoolString(connectionString); } IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); WebApiDataStoreService service = new WebApiDataStoreService(dataStore); services.AddSingleton(dataStore); services.AddSingleton(service); services.AddMvc().AddXmlSerializerFormatters(); services.AddCors(options => options.AddPolicy("XPO", builder => builder.WithOrigins("https://localhost:44317") .WithMethods("POST") .WithHeaders("Content-Type"))); }
private static IDataLayer GetDataLayer() { // set XpoDefault.Session to null to prevent accidental use of XPO default session XpoDefault.Session = null; string conn = MSSqlConnectionProvider.GetConnectionString("(local)", "XpoWebTest"); XPDictionary dict = new ReflectionDictionary(); /* Note: The database schema must exactly match your persistent classes' definition. ASP.NET applications * should not update the database schema themselves; moreover, they often don't have enough permission * to read the database schema. You may need to create a separate tool which manages your database. * On the one hand, we recommend using AutoCreateOption.SchemaAlreadyExists for the XPO data layer of your * Web site. On the other hand, the ThreadSafeDataLayer intensively uses data which is stored in the XPO's * XPObjectType service table. This sample project maps to the XpoWebTest database on your MS SQL Server. * This database is created via the DatabaseUpdater project, which must be launched before this Site is * published. */ IDataStore store = XpoDefault.GetConnectionProvider(conn, AutoCreateOption.SchemaAlreadyExists); // initialize the XPO dictionary dict.GetDataStoreSchema(typeof(PersistentObjects.Customer).Assembly); // create a ThreadSafeDataLayer IDataLayer dl = new ThreadSafeDataLayer(dict, store); return(dl); }
private void EnsureNorthwindDataLayer() { if (northwindDataLayer == null) { northwindDataStore = XpoDefault.GetConnectionProvider(northwindConnectionString, AutoCreateOption.DatabaseAndSchema); northwindDataLayer = new ThreadSafeDataLayer(northwindDictionary, northwindDataStore); } }
XpoDataStoreService(string connectionString, AutoCreateOption autoCreateOption, bool useDataStorePool) { if (useDataStorePool) { connectionString = XpoDefault.GetConnectionPoolString(connectionString); } DataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); }
public XpoLoadBalancingProvider(string mainConnectionString, string replica1ConnectionString, string replica2ConnectionString) { _mainDatabase = XpoDefault.GetConnectionProvider(mainConnectionString, AutoCreateOption.None); IDataStore replica1 = XpoDefault.GetConnectionProvider(replica1ConnectionString, AutoCreateOption.None); IDataStore replica2 = XpoDefault.GetConnectionProvider(replica2ConnectionString, AutoCreateOption.None); _appDataStore = new BitXpoLoadBalancingMultipleReadSingleWriteProvider(_mainDatabase, replica1, replica2); }
protected virtual IDataStore CreateWorkingDataStore() { if (workingStore == null) { workingStore = XpoDefault.GetConnectionProvider(ConnectionString, AutoCreateOption.SchemaAlreadyExists); } return(workingStore); }
public void InitializeLocalDB(string connectionString) { localStore = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema); var dict = new ReflectionDictionary(); dict.CollectClassInfos(typeof(TemperatureValue).Assembly); localDataLayer = new ThreadSafeDataLayer(dict, localStore); }
/// <summary> /// 根据连接字符串创建 XPO 的 DataStore /// </summary> /// <returns></returns> static IDataStore GetDataStore() { string conn = GetConnectionString(); IDataStore store = XpoDefault.GetConnectionProvider(conn, AutoCreateOption.SchemaAlreadyExists); return(store); }
public void InitializeRaspperyDB(string connectionString) { raspperyStore = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.SchemaAlreadyExists); var dict = new ReflectionDictionary(); dict.CollectClassInfos(typeof(TemperatureValue).Assembly); raspperyDataLayer = new ThreadSafeDataLayer(dict, raspperyStore); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "icden.NetCore.API", Version = "v1" }); }); string connStrName = "Futurecom"; string connectionString = Configuration.GetConnectionString(connStrName); //Initialize XPODataLayer / Database services.AddXpoDatabase((o) => { o.Name = connStrName; o.ConnectionString = connectionString; }); //Initialize identity to use XPO services .AddIdentity <ApplicationUser, ApplicationRole>(options => { // Password settings. options.Password.RequireDigit = true; options.Password.RequireLowercase = true; options.Password.RequireNonAlphanumeric = true; options.Password.RequireUppercase = true; options.Password.RequiredLength = 6; options.Password.RequiredUniqueChars = 1; // Lockout settings. options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5); options.Lockout.MaxFailedAccessAttempts = 5; options.Lockout.AllowedForNewUsers = true; // User settings. options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+"; options.User.RequireUniqueEmail = false; }) .AddXpoIdentityStores <ApplicationUser, XpoApplicationUser, ApplicationRole, XpoApplicationRole>(connStrName, new ApplicationUserMapper(), new ApplicationRoleMapper(), new XPUserStoreValidator <string, ApplicationUser, XpoApplicationUser>(), new XPRoleStoreValidator <string, ApplicationRole, XpoApplicationRole>()) .AddDefaultTokenProviders(); IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema); WebApiDataStoreService service = new WebApiDataStoreService(dataStore); services.AddSingleton(service); services.AddMvc().AddXmlSerializerFormatters(); services.AddCors(options => options.AddPolicy("XPO", builder => builder.AllowAnyOrigin() .WithMethods("POST") .WithHeaders("Content-Type"))); }
private static IDataLayer GetDataLayer() { XpoDefault.Session = null; XPDictionary dict = new ReflectionDictionary(); dict.GetDataStoreSchema(Assembly.GetExecutingAssembly()); return(new ThreadSafeDataLayer(dict, XpoDefault.GetConnectionProvider(ConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString, AutoCreateOption.None))); }
IDataLayer CreateDataLayer() { string connectionString = Configuration["ConnectionString"]; var provider = XpoDefault.GetConnectionProvider(connectionString, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema); var dictionary = new ReflectionDictionary(); dictionary.GetDataStoreSchema(typeof(Customer), typeof(Order)); return(new ThreadSafeDataLayer(dictionary, provider)); }
static void InitializeDataLayer(IDbConnection connection) { ConnectionProviderSql prov = (ConnectionProviderSql)XpoDefault.GetConnectionProvider(connection, AutoCreateOption.None); XPDictionary dict = new ReflectionDictionary(); DBTable[] tables = prov.GetStorageTables("Categories"); AddClass(dict, tables[0]); XpoDefault.DataLayer = new SimpleDataLayer(dict, prov); }
public static IDataStore GetConnection() { if (_Connection == null) { var connectionString = GetConnectionString(); _Connection = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.SchemaAlreadyExists); } return(_Connection); }
protected void Application_Start(object sender, EventArgs e) { string connectionString = ConfigurationManager.ConnectionStrings["DXConnectionString"].ConnectionString; IDataStore provider = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.None); DataCacheRoot root = new DataCacheRoot(provider); Application.Add("DataStore", root); }