/// <summary> /// Initializes a new instance of the <see cref="EntityDeserializer" /> class. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="binaryReader"> /// The binary reader. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader, DeserializingEntity deserializingEntity) : base(binaryReader, entityReader.EntityScanner.EntityContext.Configuration.Context) { this.entityReader = entityReader; this.entityScanner = entityReader.EntityScanner; this.entityContext = this.entityScanner.EntityContext; this.deserializingEntity = deserializingEntity; }
/// <summary> /// Initializes a new instance of the <see cref="EntityDeserializer" /> class. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="binaryReader"> /// The binary reader. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader, DeserializingEntity deserializingEntity) : base(binaryReader) { this.entityReader = entityReader; this.entityScanner = entityReader.EntityScanner; this.entityBindingContext = this.entityScanner.EntityContext; this.deserializingEntity = deserializingEntity; }
public void Test_ContainsEntities_NonMatchingAssembly() { Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.State"); EntityScanner scanner = new EntityScanner(); bool doesMatch = scanner.ContainsEntities(assembly); Assert.IsFalse(doesMatch, "Matched when it shouldn't have."); }
/// <summary> /// Reads an entity which belongs to the given database key from the database. /// </summary> /// <param name="entityContext"> /// The entity context. /// </param> /// <param name="entityReference"> /// The entity reference. /// </param> /// <param name="key"> /// The database key. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> /// <returns> /// The entity. /// </returns> internal static object Read(EntityContext entityContext, EntityReference entityReference, object key, Behaviors behaviors) { var entityScanTarget = new EntityScanTarget(entityReference, key); var entityScanner = new EntityScanner(entityContext); entityScanner.Add(entityScanTarget); new EntityReader(entityScanner, behaviors).Read(); return(entityScanTarget.Value); }
public void Test_ContainsEntities_MatchingAssembly() { Assembly matchingAssembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities"); EntityScanner scanner = new EntityScanner(); bool doesMatch = scanner.ContainsEntities(matchingAssembly); Assert.IsTrue(doesMatch, "Failed to match when it should."); }
/// <summary> /// Reads all entities which belongs to the given scan specification from the database. /// </summary> /// <param name="entityContext"> /// The entity context. /// </param> /// <param name="entityReference"> /// The entity reference. /// </param> /// <param name="scanSpec"> /// The scan spec. /// </param> /// <param name="entitySink"> /// The entity sink, receives the entities fetched. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> internal static void Read(EntityContext entityContext, EntityReference entityReference, ScanSpec scanSpec, Action <object> entitySink, Behaviors behaviors) { var entityScanResult = new EntityScanResult(entityReference, entitySink); var entityScanner = new EntityScanner(entityContext); entityScanner.Add(entityScanResult, scanSpec); new EntityReader(entityScanner, behaviors).Read(); }
/// <summary> /// Reads all entities which belongs to the given scan specification from the database. /// </summary> /// <param name="entityContext"> /// The entity context. /// </param> /// <param name="entityReference"> /// The entity reference. /// </param> /// <param name="scanSpec"> /// The scan spec. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> /// <returns> /// The entities. /// </returns> internal static IEnumerable Read(EntityContext entityContext, EntityReference entityReference, ScanSpec scanSpec, Behaviors behaviors) { var entityScanResult = new EntityScanResult(entityReference); var entityScanner = new EntityScanner(entityContext); entityScanner.Add(entityScanResult, scanSpec); new EntityReader(entityScanner, behaviors).Read(); return(entityScanResult.Values); }
public void Test_ContainsEntities_NonMatchingAssembly_ExcludeTestEntities() { Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities.Tests"); EntityScanner scanner = new EntityScanner(); bool includeTestEntities = false; bool doesMatch = scanner.ContainsEntities(assembly, includeTestEntities); Assert.IsFalse(doesMatch, "Matched when it shouldn't have."); }
/// <summary> /// Reads all entities which belongs to the given database keys from the database. /// </summary> /// <param name="entityContext"> /// The entity context. /// </param> /// <param name="entityReference"> /// The entity reference. /// </param> /// <param name="keys"> /// The entity keys. /// </param> /// <param name="entitySink"> /// The entity sink, receives the entities fetched. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> internal static void Read(EntityContext entityContext, EntityReference entityReference, IEnumerable keys, Action <object> entitySink, Behaviors behaviors) { var entityScanner = new EntityScanner(entityContext); var entityScanTargets = new ChunkedCollection <EntityScanTarget>(); foreach (var key in keys) { if (key != null) { var entityScanTarget = new EntityScanTarget(entityReference, entityReference.GetKeyFromObject(key, false), entitySink); entityScanTargets.Add(entityScanTarget); entityScanner.Add(entityScanTarget); } } new EntityReader(entityScanner, behaviors).Read(); }
/// <summary> /// Initializes a new instance of the <see cref="EntityReader" /> class. /// </summary> /// <param name="entityScanner"> /// The entity scanner. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> private EntityReader(EntityScanner entityScanner, Behaviors behaviors) { this.entityScanner = entityScanner; this.behaviors = behaviors; this.entitySpecsFetched = entityScanner.EntityContext.EntitySpecsFetched; }