Exemple #1
0
 public DalcRelationMapper(IDalc dalc, IDataSetFactory dsFactory, string relationTblName, string fromFldName, string toFldName)
 {
     DbContext     = new DataRowDalcMapper(dalc, dsFactory.GetDataSet);
     TableName     = relationTblName;
     FromFieldName = fromFldName;
     ToFieldName   = toFldName;
 }
Exemple #2
0
 public DalcRelationMapper(DataRowDalcMapper dbContext, string relationTblName, string fromFldName, string toFldName)
 {
     DbContext     = dbContext;
     TableName     = relationTblName;
     FromFieldName = fromFldName;
     ToFieldName   = toFldName;
 }
        public DataSetStorageContext(Func <DataSchema> ontologyPrv)
        {
            InitStorageDS();
            StorageDalc = new DataSetDalc(StorageDS);

            StorageDbMgr           = new DataRowDalcMapper(StorageDalc, new StorageDataSetPrv(StorageDS).GetDataSet);
            ObjectContainerStorage = new ObjectContainerDalcStorage(StorageDbMgr, StorageDalc, ontologyPrv);
        }
        public SQLiteStorageContext(Func <DataRowDalcMapper, IObjectContainerStorage, IDataSchemaStorage> getSchemaStorage)
        {
            dbFileName = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".db");
            var connStr           = String.Format("Data Source={0};FailIfMissing=false;Pooling=False;", dbFileName);
            var sqliteDalcFactory = new SQLiteDalcFactory();

            Connection = sqliteDalcFactory.CreateConnection();
            Connection.ConnectionString = connStr;
            InternalDalc = new DbDalc(sqliteDalcFactory, Connection, new [] {
                new DbDalcView("objects_view", @"
					SELECT @SqlFields
					FROM objects
					@Joins
					@SqlWhere[where {0}]
					@SqlOrderBy[order by {0}]
				"                )
                {
                    FieldMapping = new Dictionary <string, string>()
                    {
                        { "id", "objects.id" },
                        { "compact_class_id", "objects.compact_class_id" }
                    }
                },

                new DbDalcView("object_relations_view", @"
					SELECT @SqlFields
					FROM object_relations r
					LEFT JOIN objects subj ON (subj.id=subject_id)
					LEFT JOIN objects obj ON (obj.id=object_id)
					@SqlWhere[where {0}]
					@SqlOrderBy[order by {0}]					
				"                ,
                               "subject_id,predicate_class_compact_id,object_id,subj.compact_class_id as subject_compact_class_id,obj.compact_class_id as object_compact_class_id",
                               "count(r.id)")
            });
            var dbEventsBroker = new DataEventBroker(InternalDalc);
            var sqlTraceLogger = new NI.Data.Triggers.SqlCommandTraceTrigger(dbEventsBroker);

            InitDbSchema();

            StorageDbMgr = new DataRowDalcMapper(InternalDalc, new StorageDataSetPrv(CreateStorageSchemaDS()).GetDataSet);

            var objStorage = new ObjectContainerSqlDalcStorage(StorageDbMgr, InternalDalc, () => { return(DataSchemaStorage.GetSchema()); });

            objStorage.DeriveTypeMapping = new Dictionary <string, string>()
            {
                { "getDateYear", "CAST(strftime('%Y', {0}) as integer)" }
            };
            DataSchemaStorage = getSchemaStorage(StorageDbMgr, objStorage);

            objStorage.ObjectViewName         = "objects_view";
            objStorage.ObjectRelationViewName = "object_relations_view";
            ObjectContainerStorage            = objStorage;

            StorageDalc = new StorageDalc(InternalDalc, ObjectContainerStorage, DataSchemaStorage.GetSchema);
        }
Exemple #5
0
        public MetadataTableSchemaStorage(DataRowDalcMapper dbMgr)
        {
            DbContext = dbMgr;

            ClassTableName    = "metadata_classes";
            ClassFieldMapping = new Dictionary <string, string>()
            {
                { "id", "ID" },
                { "name", "Name" },
                { "predicate", "IsPredicate" },
                { "compact_id", "CompactID" },
                { "object_location", "ObjectLocation" }
            };
            ClassPersister = new ObjectDalcMapper <Class>(DbContext, ClassTableName, ClassFieldMapping);

            PropertyTableName    = "metadata_properties";
            PropertyFieldMapping = new Dictionary <string, string>()
            {
                { "id", "ID" },
                { "name", "Name" },
                { "multivalue", "Multivalue" },
                { "compact_id", "CompactID" },
                { "primary_key", "PrimaryKey" }
            };
            PropertyPersister = new ObjectDalcMapper <Property>(DbContext, PropertyTableName,
                                                                new PropertyMapper(PropertyFieldMapping));

            RelationshipTableName    = "metadata_class_relationships";
            RelationshipFieldMapping = new Dictionary <string, string>()
            {
                { "subject_class_id", "SubjectClassID" },
                { "predicate_class_id", "PredicateClassID" },
                { "object_class_id", "ObjectClassID" },
                { "subject_multiplicity", "SubjectMultiplicity" },
                { "object_multiplicity", "ObjectMultiplicity" }
            };
            RelationshipPersister = new ObjectDalcMapper <RelationshipData>(DbContext, RelationshipTableName, RelationshipFieldMapping);

            PropertyToClassTableName    = "metadata_property_to_class";
            PropertyToClassFieldMapping = new Dictionary <string, string>()
            {
                { "class_id", "ClassID" },
                { "property_id", "PropertyID" },
                { "value_location", "Location" },
                { "column_name", "ColumnName" },
                { "derive_type", "DeriveType" },
                { "derived_from_property_id", "DerivedFromPropertyID" }
            };
            PropertyToClassPersister = new ObjectDalcMapper <PropertyToClass>(DbContext, PropertyToClassTableName, PropertyToClassFieldMapping);
        }
        public void SchemaDataSetFactory()
        {
            var schemaDsFactory = new SchemaDataSetFactory(StorageContext.DataSchemaStorage.GetSchema);
            var ds1             = schemaDsFactory.GetDataSet("contacts");

            Assert.True(ds1.Tables.Contains("contacts"));
            Assert.AreEqual(4, ds1.Tables["contacts"].Columns.Count);

            var dataRowMapper  = new DataRowDalcMapper(StorageContext.StorageDalc, schemaDsFactory.GetDataSet);
            var testContactRow = dataRowMapper.Create("contacts");

            testContactRow["name"] = "Test1";
            dataRowMapper.Update(testContactRow);

            var loadedTestContactRow = dataRowMapper.Load("contacts", testContactRow["id"]);

            Assert.NotNull(loadedTestContactRow);
            Assert.AreEqual("Test1", loadedTestContactRow["name"]);
        }
Exemple #7
0
 public ObjectContainerSqlDalcStorage(DataRowDalcMapper objectDbMgr, IDalc logDalc, Func <DataSchema> getSchema) :
     base(objectDbMgr, logDalc, getSchema)
 {
 }