本文整理汇总了C#中DBObjectStream类的典型用法代码示例。如果您正苦于以下问题:C# DBObjectStream类的具体用法?C# DBObjectStream怎么用?C# DBObjectStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DBObjectStream类属于命名空间,在下文中一共展示了DBObjectStream类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: BulkInsertDBO
/// <summary>
/// This will be invoked by the BulkInsert class.
/// </summary>
/// <param name="myTypeManager"></param>
/// <param name="myDBTypeStream"></param>
/// <param name="myDBObjectStream"></param>
/// <param name="myBulkInsert"></param>
internal BulkInsertDBO(DBContext myDBContext, GraphDBType myDBTypeStream, DBObjectStream myDBObjectStream, BulkInsert myBulkInsert)
{
_DBContext = myDBContext;
_DBTypeStream = myDBTypeStream;
_DBObjectStream = myDBObjectStream;
_BulkInsert = myBulkInsert;
}
开发者ID:TheByte,项目名称:sones,代码行数:14,代码来源:BulkInsertDBO.cs
示例2: Warning_EdgeToNonExistingNode
public Warning_EdgeToNonExistingNode(DBObjectStream myStartingNode, GraphDBType myTypeOfDBO, TypeAttribute myEdge, IEnumerable<IError> myErrors)
{
StartingNode = myStartingNode;
Errors = myErrors;
Edge = myEdge;
TypeOfDBO = myTypeOfDBO;
}
开发者ID:TheByte,项目名称:sones,代码行数:7,代码来源:Warning_EdgeToNonExistingNode.cs
示例3: GetValueForAttribute
/// <summary>
/// <seealso cref=" AAttributeAssignOrUpdate"/>
/// </summary>
public override Exceptional<IObject> GetValueForAttribute(DBObjectStream myDBObject, DBContext myDBContext, GraphDBType myGraphDBType)
{
if (AttributeIDChain.IsUndefinedAttribute)
{
return new Exceptional<IObject>(GraphDBTypeMapper.GetBaseObjectFromCSharpType(Value));
}
#region Simple value
var dbType = AttributeIDChain.LastAttribute.GetDBType(myDBContext.DBTypeManager);
if (AttributeIDChain.LastAttribute is SpecialTypeAttribute_UUID)
{
dbType = myDBContext.DBTypeManager.GetTypeByName(GraphDBTypeMapper.GetBaseObjectFromCSharpType(Value).ObjectName);//DBString.Name);
}
if (GraphDBTypeMapper.IsAValidAttributeType(dbType, AttributeAssignType, myDBContext, Value))
{
return new Exceptional<IObject>(GraphDBTypeMapper.GetGraphObjectFromType(AttributeAssignType, Value)); ;
}
else
{
return new Exceptional<IObject>(new Error_InvalidAttributeValue(AttributeIDChain.LastAttribute.Name, Value));
}
#endregion
}
开发者ID:Vadi,项目名称:sones,代码行数:28,代码来源:AttributeAssignOrUpdateValue.cs
示例4: LoadUndefAttributes
protected Exceptional<IDictionary<String, IObject>> LoadUndefAttributes(String myName, DBContext dbContext, DBObjectStream myObjStream)
{
var loadExcept = myObjStream.GetUndefinedAttributePayload(dbContext.DBObjectManager);
if (loadExcept.Failed())
return new Exceptional<IDictionary<string, IObject>>(loadExcept);
return new Exceptional<IDictionary<string, IObject>>(loadExcept.Value);
}
开发者ID:TheByte,项目名称:sones,代码行数:9,代码来源:AAttributeAssignOrUpdateOrRemove.cs
示例5: ExtractValue
public override Exceptional<IObject> ExtractValue(DBObjectStream dbObjectStream, GraphDBType graphDBType, DBContext dbContext)
{
EdgeTypeListOfBaseObjects parentRevisions = new EdgeTypeListOfBaseObjects();
foreach (var item in dbObjectStream.ParentRevisionIDs)
parentRevisions.Add(new DBString(item.ToString()));
return new Exceptional<IObject>(parentRevisions);
}
开发者ID:TheByte,项目名称:sones,代码行数:9,代码来源:SpecialTypeAttribute_PARENTREVISIONS.cs
示例6: ExtractValue
public override Exceptional<IObject> ExtractValue(DBObjectStream dbObjectStream, GraphDBType graphDBType, DBContext dbContext)
{
EdgeTypeListOfBaseObjects streams = new EdgeTypeListOfBaseObjects();
foreach (var item in dbObjectStream.ObjectStreams)
streams.Add(new DBString(item.Key + " " + item.Value.ToString()));
return new Exceptional<IObject>(streams);
}
开发者ID:TheByte,项目名称:sones,代码行数:9,代码来源:SpecialTypeAttribute_STREAMS.cs
示例7: DBObjectMR
public DBObjectMR(DBObjectStream myDBObject, GraphDBType myDBTypeStream, DBContext myTypeManager)
{
_ObjectUUID = myDBObject.ObjectUUID;
_Attributes = new Dictionary<String, Object>();
foreach (var _Attribute in myDBTypeStream.Attributes)
{
_Attributes.Add(_Attribute.Value.Name, myDBObject.GetAttribute(_Attribute.Key));
}
}
开发者ID:TheByte,项目名称:sones,代码行数:10,代码来源:DBObjectMR.cs
示例8: ExtractValue
public override Exceptional<IObject> ExtractValue(DBObjectStream dbObjectStream, GraphDBType graphDBType, DBContext dbContext)
{
var myType = dbContext.DBTypeManager.GetTypeByUUID(dbObjectStream.TypeUUID);
if (myType != null)
{
return new Exceptional<IObject>(new DBString(myType.Name));
}
else
{
return new Exceptional<IObject>(new Error_NotImplemented(new System.Diagnostics.StackTrace(true)));
}
}
开发者ID:TheByte,项目名称:sones,代码行数:12,代码来源:SpecialTypeAttribute_TYPE.cs
示例9: GetValueForAttribute
public override Exceptional<IObject> GetValueForAttribute(DBObjectStream aDBObject, DBContext dbContext, GraphDBType _Type)
{
#region ListOfDBObjects
if (AttributeIDChain.LastAttribute.GetDBType(dbContext.DBTypeManager).IsUserDefined)
{
//userdefined
//value = aSetNode.GetCorrespondigDBObjectUUIDs(aTaskNode.AttributeIDNodee, typeManager, dbObjectCache, mySessionToken);
if (CollectionDefinition.CollectionType == CollectionType.SetOfUUIDs)
{
var retVal = CollectionDefinition.TupleDefinition.GetAsUUIDEdge(dbContext, AttributeIDChain.LastAttribute);
if (!retVal.Success())
{
return new Exceptional<IObject>(retVal);
}
else
{
return new Exceptional<IObject>(retVal.Value);
}
}
else
{
var edge = (IEdgeType)(CollectionDefinition.TupleDefinition.GetCorrespondigDBObjectUUIDAsList(_Type, dbContext, AttributeIDChain.LastAttribute.EdgeType.GetNewInstance(), AttributeIDChain.LastAttribute.GetDBType(dbContext.DBTypeManager)).Value);
return new Exceptional<IObject>(edge);
}
}
else
{
//not userdefined
var edge = GetBasicList(dbContext);
if (edge.Failed())
{
return new Exceptional<IObject>(edge);
}
// If the collection was declared as a SETOF insert
if (CollectionDefinition.CollectionType == CollectionType.Set)
{
edge.Value.Distinction();
}
return new Exceptional<IObject>(edge.Value);
}
#endregion
}
开发者ID:TheByte,项目名称:sones,代码行数:48,代码来源:AttributeAssignOrUpdateList.cs
示例10: GetValueForAttribute
public override Exceptional<IObject> GetValueForAttribute(DBObjectStream aDBObject, DBContext dbContext, GraphDBType _Type)
{
#region Expression
var validateResult = BinaryExpressionDefinition.Validate(dbContext, _Type);
if (validateResult.Failed())
{
return new Exceptional<IObject>(validateResult);
}
var value = BinaryExpressionDefinition.SimpleExecution(aDBObject, dbContext);
#endregion
return new Exceptional<IObject>(value);
}
开发者ID:TheByte,项目名称:sones,代码行数:16,代码来源:AttributeAssignOrUpdateExpression.cs
示例11: ApplyUpdateListAttribute
public Exceptional<Tuple<String, TypeAttribute, IListOrSetEdgeType>> ApplyUpdateListAttribute(AAttributeAssignOrUpdateOrRemove myAttributeUpdateOrAssign, DBContext dbContext, DBObjectStream aDBObject, GraphDBType _Type)
{
if (myAttributeUpdateOrAssign is AttributeAssignOrUpdateList)
{
}
else if (myAttributeUpdateOrAssign is AttributeRemoveList)
{
}
else
{
return new Exceptional<Tuple<String, TypeAttribute, IListOrSetEdgeType>>(new Error_NotImplemented(new System.Diagnostics.StackTrace(true)));
}
return new Exceptional<Tuple<String, TypeAttribute, IListOrSetEdgeType>>(null as Tuple<String, TypeAttribute, IListOrSetEdgeType>);
}
开发者ID:TheByte,项目名称:sones,代码行数:17,代码来源:ObjectManipulationManager.cs
示例12: GetValueForAttribute
public override Exceptional<IObject> GetValueForAttribute(DBObjectStream myDBObject, DBContext myDBContext, GraphDBType myGraphDBType)
{
if (AttributeIDChain.IsUndefinedAttribute)
{
return new Exceptional<IObject>(GraphDBTypeMapper.GetBaseObjectFromCSharpType(Value));
}
#region Simple value
if (GraphDBTypeMapper.IsAValidAttributeType(AttributeIDChain.LastAttribute.GetDBType(myDBContext.DBTypeManager), AttributeAssignType, myDBContext, Value))
{
return new Exceptional<IObject>(GraphDBTypeMapper.GetGraphObjectFromType(AttributeAssignType, Value)); ;
}
else
{
return new Exceptional<IObject>(new Error_InvalidAttributeValue(AttributeIDChain.LastAttribute.Name, Value));
}
#endregion
}
开发者ID:TheByte,项目名称:sones,代码行数:20,代码来源:AttributeAssignOrUpdateValue.cs
示例13: Update
public override Exceptional<Dictionary<String, Tuple<TypeAttribute, IObject>>> Update(DBContext myDBContext, DBObjectStream myDBObjectStream, GraphDBType myGraphDBType)
{
Dictionary<String, Tuple<TypeAttribute, IObject>> attrsForResult = new Dictionary<String, Tuple<TypeAttribute, IObject>>();
#region undefined attributes
//TODO: change this to a more handling thing than KeyValuePair
var addExcept = myDBContext.DBObjectManager.AddUndefinedAttribute(UndefinedAttribute.AttributeName, UndefinedAttribute.AttributeValue, myDBObjectStream);
if (addExcept.Failed())
{
return new Exceptional<Dictionary<string, Tuple<TypeAttribute, IObject>>>(addExcept);
}
//sthChanged = true;
attrsForResult.Add(UndefinedAttribute.AttributeName, new Tuple<TypeAttribute, IObject>(new UndefinedTypeAttribute(UndefinedAttribute.AttributeName), UndefinedAttribute.AttributeValue));
#endregion
return new Exceptional<Dictionary<string, Tuple<TypeAttribute, IObject>>>(attrsForResult);
}
开发者ID:TheByte,项目名称:sones,代码行数:22,代码来源:AttributeAssignOrUpdateUndefined.cs
示例14: GetValueForAttribute
/// <summary>
/// <seealso cref=" AAttributeAssignOrUpdateOrRemove"/>
/// </summary>
public override Exceptional<IObject> GetValueForAttribute(DBObjectStream myDBObject, DBContext myDBContext, GraphDBType myDBType)
{
#region reference
var validationResult = AttributeIDChain.Validate(myDBContext, true, myDBType);
if (validationResult.Failed())
{
return new Exceptional<IObject>(validationResult);
}
if (AttributeIDChain.IsUndefinedAttribute)
{
return new Exceptional<IObject>(new Error_InvalidReferenceAssignmentOfUndefAttr());
}
// if we have a Userdefined Type, than all assignments will work on this type
if (!AttributeIDChain.LastAttribute.GetDBType(myDBContext.DBTypeManager).IsUserDefined)
{
//attributeType = _Type;
}
var value = AttributeIDChain.LastAttribute.EdgeType.GetNewInstance();
var dbos = SetRefDefinition.GetCorrespondigDBObjects(AttributeIDChain.LastAttribute.GetDBType(myDBContext.DBTypeManager), myDBContext, AttributeIDChain.LastAttribute.GetRelatedType(myDBContext.DBTypeManager));
foreach (var dbo in dbos)
{
if (dbo.Failed())
return new Exceptional<IObject>(dbo);
(value as ASingleReferenceEdgeType).Set(dbo.Value.ObjectUUID, AttributeIDChain.LastAttribute.DBTypeUUID, SetRefDefinition.Parameters);
}
#endregion
return new Exceptional<IObject>(value);
}
开发者ID:Vadi,项目名称:sones,代码行数:40,代码来源:AttributeAssignOrUpdateSetRef.cs
示例15: RemoveUndefinedAttribute
public Exceptional<Boolean> RemoveUndefinedAttribute(String myName, DBObjectStream myObject)
{
return myObject.RemoveUndefinedAttribute(myName, this);
}
开发者ID:ipbi,项目名称:sones,代码行数:4,代码来源:DBObjectManager.cs
示例16: RemoveDBObject
/// <summary>
/// Removes a DBObject.
/// </summary>
/// <param name="myGraphType">The Type of the DBObject that is to be removed.</param>
/// <param name="myDBObject">The UUID of the DBObject.</param>
public Exceptional RemoveDBObject(GraphDBType myTypeOfDBObject, DBObjectStream myDBObject, DBObjectCache myDBObjectCache, SessionSettings myToken)
{
#region Input exceptions
if (myTypeOfDBObject == null)
{
return new Exceptional(new Error_ArgumentNullOrEmpty("myTypeOfDBObject"));
}
if (myDBObject == null)
{
return new Exceptional(new Error_ArgumentNullOrEmpty("myUUID"));
}
#endregion
#region Data
ObjectLocation myDBObjectLocation;
#endregion
// Get DBObject path
myDBObjectLocation = myDBObject.ObjectLocation;
#region remove from attributeIDX
foreach (var anIndex in myTypeOfDBObject.GetAllAttributeIndices(false))
{
anIndex.Remove(myDBObject, myTypeOfDBObject, _DBContext);
}
#endregion
#region remove from fs
#region Remove DBOBJECTSTREAM
var _RemoveObjectExceptional = _IGraphFSSession.RemoveObjectIfExists(myDBObjectLocation, DBConstants.DBOBJECTSTREAM);
if (_RemoveObjectExceptional.Failed())
{
return _RemoveObjectExceptional;
}
#endregion
#region Remove DBBACKWARDEDGESTREAM
_RemoveObjectExceptional = _IGraphFSSession.RemoveObjectIfExists(myDBObjectLocation, DBConstants.DBBACKWARDEDGESTREAM);
if (_RemoveObjectExceptional.Failed())
{
return _RemoveObjectExceptional;
}
#endregion
#region Remove UNDEFATTRIBUTESSTREAM
_RemoveObjectExceptional = _IGraphFSSession.RemoveObjectIfExists(myDBObjectLocation, DBConstants.UNDEFATTRIBUTESSTREAM);
if (_RemoveObjectExceptional.Failed())
{
return _RemoveObjectExceptional;
}
#endregion
#endregion
return Exceptional.OK;
}
开发者ID:ipbi,项目名称:sones,代码行数:74,代码来源:DBObjectManager.cs
示例17: FlushDBObject
/// <summary>
/// Flushes a DBObject to FS.
/// </summary>
/// <param name="myDBObject">The DBObject to be flushed.</param>
/// <returns>True for success or otherwise false.</returns>
public Exceptional FlushDBObject(DBObjectStream myDBObject)
{
#region Input validation
if (myDBObject == null)
return new Exceptional(new Error_ArgumentNullOrEmpty("myDBObject"));
#endregion
if (myDBObject.IGraphFSSessionReference == null)
return _IGraphFSSession.StoreFSObject(myDBObject, true);
return myDBObject.Save();
}
开发者ID:ipbi,项目名称:sones,代码行数:19,代码来源:DBObjectManager.cs
示例18: ExtractValue
public override Exceptional<IObject> ExtractValue(DBObjectStream dbObjectStream, GraphDBType graphDBType, DBContext dbContext)
{
return new Exceptional<IObject>(new DBUInt64(dbObjectStream.MinNumberOfRevisions));
}
开发者ID:TheByte,项目名称:sones,代码行数:4,代码来源:SpecialTypeAttribute_MINNUMBEROFREVISIONS.cs
示例19: GetIndexkeysFromDBObject
/// <summary>
/// Creates IndexKeys from a DBObject.
/// </summary>
/// <param name="myDBObject">The DBObject reference for the resulting IndexKeys</param>
/// <param name="myTypeOfDBObject">The Type of the DBObject</param>
/// <param name="myToken">The SessionInfos</param>
/// <returns>A HashSet of IndexKeys</returns>
private HashSet<IndexKey> GetIndexkeysFromDBObject(DBObjectStream myDBObject, GraphDBType myTypeOfDBObject, DBContext dbContext)
{
HashSet<IndexKey> result = new HashSet<IndexKey>();
TypeAttribute currentAttribute;
foreach (var aIndexAttributeUUID in IndexKeyDefinition.IndexKeyAttributeUUIDs)
{
currentAttribute = myTypeOfDBObject.GetTypeAttributeByUUID(aIndexAttributeUUID);
if (!currentAttribute.GetDBType(dbContext.DBTypeManager).IsUserDefined)
{
#region base attribute
if (myDBObject.HasAttribute(aIndexAttributeUUID, myTypeOfDBObject))
{
ADBBaseObject newIndexKeyItem = null;
switch (currentAttribute.KindOfType)
{
#region List/Set
case KindsOfType.ListOfNoneReferences:
case KindsOfType.SetOfNoneReferences:
var helperSet = new List<ADBBaseObject>();
foreach (var aBaseObject in ((IBaseEdge)myDBObject.GetAttribute(aIndexAttributeUUID, myTypeOfDBObject, dbContext)).GetBaseObjects())
{
helperSet.Add((ADBBaseObject)aBaseObject);
}
if (result.Count != 0)
{
#region update
HashSet<IndexKey> helperResultSet = new HashSet<IndexKey>();
foreach (var aNewItem in helperSet)
{
foreach (var aReturnVal in result)
{
helperResultSet.Add(new IndexKey(aReturnVal, aIndexAttributeUUID, aNewItem, this.IndexKeyDefinition));
}
}
result = helperResultSet;
#endregion
}
else
{
#region create new
foreach (var aNewItem in helperSet)
{
result.Add(new IndexKey(aIndexAttributeUUID, aNewItem, this.IndexKeyDefinition));
}
#endregion
}
break;
#endregion
#region single/special
case KindsOfType.SingleReference:
case KindsOfType.SingleNoneReference:
case KindsOfType.SpecialAttribute:
newIndexKeyItem = (ADBBaseObject)myDBObject.GetAttribute(aIndexAttributeUUID, myTypeOfDBObject, dbContext);
if (result.Count != 0)
{
#region update
foreach (var aResultItem in result)
{
aResultItem.AddAADBBAseObject(aIndexAttributeUUID, newIndexKeyItem);
}
#endregion
}
else
{
#region create new
result.Add(new IndexKey(aIndexAttributeUUID, newIndexKeyItem, this.IndexKeyDefinition));
#endregion
}
//.........这里部分代码省略.........
开发者ID:ipbi,项目名称:sones,代码行数:101,代码来源:AttributeIndex.cs
示例20: Update
/// <summary>
/// This method updates the idx corresponding to an DBObject
/// </summary>
/// <param name="myDBObject">The DBObject that should be updated</param>
/// <param name="myTypeOfDBObject">The type of the DBObject</param>
/// <param name="myToken">The SessionInfos</param>
public override Exceptional Update(DBObjectStream myDBObject, GraphDBType myTypeOfDBObject, DBContext dbContext)
{
#region Get index reference
var idxRef = GetIndexReference(dbContext.DBIndexManager);
if (!idxRef.Success())
{
return new Exceptional(idxRef);
}
var idxRefVal = idxRef.Value;
#endregion
if (idxRefVal != null)
{
#region remove
HashSet<IndexKey> toBeRemovedIdxKeys = new HashSet<IndexKey>();
foreach (var aKeyValue in idxRefVal.GetIDictionary())
{
aKeyValue.Value.Remove(myDBObject.ObjectUUID);
if (aKeyValue.Value.Count == 0)
{
toBeRemovedIdxKeys.Add(aKeyValue.Key);
}
}
foreach (var aToBeDeletedIndexKey in toBeRemovedIdxKeys)
{
idxRefVal.Remove(aToBeDeletedIndexKey);
}
#endregion
#region insert
if (myDBObject.HasAtLeastOneAttribute(this.IndexKeyDefinition.IndexKeyAttributeUUIDs, myTypeOfDBObject, dbContext.SessionSettings))
{
//insert
foreach (var aIndexKey in this.GetIndexkeysFromDBObject(myDBObject, myTypeOfDBObject, dbContext))
{
idxRefVal.Set(aIndexKey, myDBObject.ObjectUUID, IndexSetStrategy.MERGE);
}
}
#endregion
}
else
{
return new Exceptional(new Error_InvalidIndexReference(IndexName, IndexEdition));
}
return Exceptional.OK;
}
开发者ID:ipbi,项目名称:sones,代码行数:63,代码来源:AttributeIndex.cs
注:本文中的DBObjectStream类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论