public DalcRelationMapper(IDalc dalc, IDataSetFactory dsFactory, string relationTblName, string fromFldName, string toFldName) { DbContext = new DataRowDalcMapper(dalc, dsFactory.GetDataSet); TableName = relationTblName; FromFieldName = fromFldName; ToFieldName = toFldName; }
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); }
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"]); }
public ObjectContainerSqlDalcStorage(DataRowDalcMapper objectDbMgr, IDalc logDalc, Func <DataSchema> getSchema) : base(objectDbMgr, logDalc, getSchema) { }