コード例 #1
0
        /// <summary>
        /// Add a projection that will be executed inline
        /// </summary>
        /// <param name="projection"></param>
        /// <param name="lifecycle">Optionally override the lifecycle of this projection. The default is Inline</param>
        public void Add(EventProjection projection, ProjectionLifecycle?lifecycle = null)
        {
            if (lifecycle.HasValue)
            {
                projection.Lifecycle = lifecycle.Value;
            }

            foreach (var publishedType in projection.As <IProjectionSource>().PublishedTypes())
            {
                _options.Storage.RegisterDocumentType(publishedType);
            }

            projection.AssertValidity();
            All.Add(projection);
        }
コード例 #2
0
 /// <summary>
 /// Add a projection that will be executed inline
 /// </summary>
 /// <param name="projection"></param>
 public void Inline(EventProjection projection)
 {
     projection.As <IValidatedProjection>().AssertValidity();
     _inlineProjections.Add(projection);
 }