private LinqToDBDomainContext CreateDomainContext(StorageMappingDescriptor storageMappingDescriptor)
        {
            var linqToDbModel = _linqToDbModelFactory.Create(storageMappingDescriptor.EntityContainerName);

            var connections = Connections.GetOrAdd(
                storageMappingDescriptor.ConnectionStringIdentity,
                connectionStringIdentity =>
            {
                var dataProvider     = new SQLiteDataProvider();
                var connectionString = _connectionStringSettings.GetConnectionString(connectionStringIdentity);
                var connection       = (SQLiteConnection)dataProvider.CreateConnection(connectionString);
                connection.Open();

                var dataConnection = new DataConnection(dataProvider, connection)
                {
                    CommandTimeout = linqToDbModel.QueryExecutionTimeout,
                    IsMarsEnabled  = false
                };
                dataConnection.AddMappingSchema(linqToDbModel.MappingSchema);

                return(Tuple.Create(connection, TuneConnection(dataConnection)));
            });

            return(new LinqToDBDomainContext(connections.Item1,
                                             connections.Item2,
                                             new ManagedConnectionStateScopeFactory(),
                                             new WritingStrategyFactory(),
                                             linqToDbModel.TransactionOptions,
                                             new NullPendingChangesHandlingStrategy()));
        }
Beispiel #2
0
        public void TestSqlLiteMS()
        {
            var provider = new SQLiteDataProvider(ProviderName.SQLiteMS);

            try
            {
                using (var db = new DataConnection(provider, "Data Source=" + MainActivity.SQLiteDbPath))
                {
                    db.CreateTable <Test>();

                    db.Insert(new Test()
                    {
                        Field = 5
                    });

                    var results = db.GetTable <Test>().ToArray();

                    Assert.AreEqual(1, results.Length);
                    Assert.AreEqual(5, results[0].Field);
                }
            }
            finally
            {
                SQLiteTools.DropDatabase("test_db");
            }
        }
Beispiel #3
0
        public static void Initialize()
        {
            var dataProvider     = new SQLiteDataProvider();
            var entryProvider    = new EntryProvider(dataProvider);
            var settingsProvider = new SettingsProvider(dataProvider);

            ProC.Register <IEntryProvider>(entryProvider);
            ProC.Register <ISettingsProvider>(settingsProvider);
        }
        public void DatabaseCacheTest_2()
        {
            DatabaseCacheTest();

            var provider    = new SQLiteDataProvider(@"..\..\..\test_database\resources\covid.db");
            var cacheSystem = new DatabaseCache();

            cacheSystem.Attach(provider);
            cacheSystem.CheckUpdate();    //check if the data is fresh (yesterday is present in the db) and update the db if not
        }
Beispiel #5
0
        public void DataProviderTest()
        {
            var provider = new SQLiteDataProvider(@"..\..\resources\covid.db");

            try
            {
                provider.ClearDayInfoData();
            }
            catch (Exception)
            {
                // ignored
            }


            //Test insertion of CountryInfo list
            IDataProvider <CountryInfo> mockDataProvider = new MockDataProvider();
            var list = mockDataProvider.GetCountryData();

            provider.InsertCountryData(list);

            //Extract list of countryInfoEx
            var countryInfoExList = provider.GetCountryData();

            foreach (var countryInfo in countryInfoExList)
            {
                var tuple = (countryInfo.Confirmed, countryInfo.Deaths, countryInfo.Recovered, countryInfo.Continent,
                             countryInfo.Population);
                switch (countryInfo.Name)
                {
                case "Italy":
                    Assert.AreEqual(tuple, (2, 0, 1, "Europe", 50_000_000));
                    break;

                case "USA":
                    Assert.AreEqual(tuple, (18, 4, 0, "America", 300_000_000));
                    break;

                case "Romania":
                    Assert.AreEqual(tuple, (25, 3, 1, "Europe", 19_000_000));
                    break;

                case "China":
                    Assert.AreEqual(tuple, (80, 10, 5, "Asia", 1_000_000_000));
                    break;
                }
            }
            //Test extraction the most recent date
            Assert.AreEqual(new Date(1983, 11, 30), provider.GetTheMostRecentDateOfData());
        }
Beispiel #6
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var provider = new SQLiteDataProvider();

            var cacheSystem = new DatabaseCache();

            cacheSystem.Attach(provider);
            cacheSystem.CheckUpdate();    //check if the data is fresh (yesterday is present in the db)

            var data = provider.GetCountryData();

            MapView     mapView     = new MapView(data);
            IView       globalView  = new GlobalView(data);
            CountryView countryView = new CountryView(data);

            mapView.Subscribe(countryView);

            Application.Run(new MainForm(new List <IView> {
                mapView, globalView, countryView
            }));
        }
Beispiel #7
0
    public static void Main()
    {
        var dataProvider = new SQLiteDataProvider();
        var connection   = dataProvider.CreateConnection(ConnectionString);

        connection.Open();
        var dataConnection = new DataConnection(dataProvider, connection);

        dataConnection.MappingSchema.SetDataType(typeof(TimeSpan), DataType.Int64);
        dataConnection.CreateTable <Category>();
        dataConnection.GetTable <Category>()
        .DataContextInfo
        .DataContext
        .Insert(new Category
        {
            Id   = 2,
            Time = new TimeSpan(10, 0, 0)
        });

        foreach (var category in dataConnection.GetTable <Category>())
        {
            Console.WriteLine($@"Id: {category.Id}, Time: {category.Time}");
        }
    }
Beispiel #8
0
 public EnglishWordDb(SQLiteDataProvider dataProvider, string connectionString)
     : base(dataProvider, connectionString)
 {
     InitDataContext();
 }
 /// <summary>
 /// Get connection string for VC Code Symbol table
 /// </summary>
 /// <param name="vcCodeFolderPath">Folder of VC Code C/C++ Source Code</param>
 /// <param name="provider"></param>
 /// <param name="withErrorMessage"></param>
 /// <returns>"" = No connection found</returns>
 public static string GetConnectionString(string vcCodeFolderPath, out IDataProvider provider, bool withErrorMessage = true)
 {
     provider = new SQLiteDataProvider("SQLite.Classic");
     return(VcDbUtilities.GetConnectionString(vcCodeFolderPath, withErrorMessage));
 }
Beispiel #10
0
 /// <summary>
 /// Get connection string and data provider for SQLite database from path
 /// </summary>
 /// <param name="sqliteDbPath"></param>
 /// <param name="provider"></param>
 /// <returns></returns>
 /// string dsnName = "DSN=MySqlEa;Trusted_Connection=Yes;";
 //  dsnName = "DSN=MySqlEa;";
 public static string GetConnectionString(string sqliteDbPath, out IDataProvider provider)
 {
     provider = new SQLiteDataProvider();
     return($"Data Source={sqliteDbPath};");
 }